_mm_madd52lo_avx_epu64
Classification
AVX_ALL, Arithmetic, CPUID Test: AVX_IFMA
Header File
immintrin.h
Instruction
VPMADD52LUQ xmm, xmm, xmm
Synopsis
 _mm_madd52lo_avx_epu64(__m128i __X, __m128i __Y, __m128i __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 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