_mm256_madd52lo_avx_epu64
Classification
AVX_ALL, Arithmetic, CPUID Test: AVX_IFMA
Header File
immintrin.h
Instruction
VPMADD52LUQ ymm, ymm, ymm
Synopsis
 _mm256_madd52lo_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 low 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[51:0])
ENDFOR
dst[MAX:256] := 0