__vpmsumw, __builtin_altivec_crypto_vpmsumw

Purpose

Performs the exclusive-OR operation on each even-odd pair of the polynomial-multiplication result of corresponding elements.

Prototype

vector unsigned int __builtin_altivec_crypto_vpmsumw (vector unsigned int a, vector unsigned int b);

vector unsigned int __vpmsumw (vector unsigned int a, vector unsigned int b);

Note:
  • The built-in function in the form of __name is a synonym of __builtin_altivec_crypto_name.
  • The built-in function in the form of __name is provided for compatibility with IBM® XL C/C++ for AIX® 16.1.0 or earlier releases. This built-in function might be deprecated in the future.

Result

For each i (0 <= i < 4), let prod[i] be the result of polynomial multiplication of word elements i of a and b.

For each i (0 <= i < 2), each doubleword element i of the result is set as follows:
  • Bit 0 is set to 0.
  • Bits 1 - 63 are set to prod[2*i] (xor) prod[2*i+1].