__vpmsumb, __builtin_altivec_crypto_vpmsumb

Purpose

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

Prototype

vector unsigned char __builtin_altivec_crypto_vpmsumb (vector unsigned char a, vector unsigned char b)

vector unsigned char __vpmsumb (vector unsigned char a, vector unsigned char 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 < 16), let prod[i] be the result of polynomial multiplication of byte elements i of a and b.

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