__vpmsumh, __builtin_altivec_crypto_vpmsumh

Purpose

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

Prototype

vector unsigned short __builtin_altivec_crypto_vpmsumh (vector unsigned short a, vector unsigned short b);

vector unsigned short __vpmsumh (vector unsigned short a, vector unsigned short 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 < 8), let prod[i] be the result of polynomial multiplication of halfword elements i of a and b.

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