_mm_reduce_and_epi16
Classification
AVX-512, Arithmetic, CPUID Test: AVX512BW
Header File
immintrin.h
Synopsis
 _mm_reduce_and_epi16(__m128i a);
Description
Reduce the packed 16-bit integers in "a" by multiplication. Returns the sum of all elements in "a".
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)