vec_gfmsum: Vector Galois Field Multiply Sum

d = vec_gfmsum(a, b)

Performs a Galois field multiply sum on each element of the given vectors.

Each element of a is multiplied in a Galois field with the corresponding element of b. The Galois field has an order of two. This multiplication is similar to standard binary multiplication, but instead of adding the shifted multiplicand it is exclusive ORed. The resulting even-odd pairs of double element-sized products are exclusive ORed with each other and placed in the corresponding double-wide element of the returned vector.

Table 1. Vector Galois Field Multiply Sum
d a b
vector unsigned short vector unsigned char vector unsigned char
vector unsigned int vector unsigned short vector unsigned short
vector unsigned long long vector unsigned int vector unsigned int