_mm256_madd52hi_avx_epu64
Classification
AVX_ALL, Arithmetic, CPUID Test: AVX_IFMA
Header File
immintrin.h
Instruction
VPMADD52HUQ ymm, ymm, ymm
Synopsis
 _mm256_madd52hi_avx_epu64(__m256i __X, __m256i __Y, __m256i __Z);
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".
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