_mm512_reduce_mul_ps
Classification
KNC, Arithmetic, CPUID Test: KNCNI
Header File
immintrin.h
Synopsis
 _mm512_reduce_mul_ps(__m512 a);
Description
Reduce the packed single-precision (32-bit) floating-point elements in "a" by multiplication. Returns the product of all elements in "a".
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)