On Sat, Oct 3, 2020 at 7:00 PM Maamoun TK maamoun.tk@googlemail.com wrote:
... 2. ... has different name on CLANG '__builtin_altivec_crypto_vpmsumd' so we will end up using a lot of conditions to check the variant of compiler plus writing inline assembly code for 'vpmsumd' in case the variant has intrinsic issue with it.
And __vpmsumd for IBM's XL C/C++ compiler.
Clang plays games with the preprocessor macros. It pretends to be GCC, Clang and XLC all at once, but it can't handle the other compiler's intrinsics.
Here's how to setup the preprocessor macro tests:
#if defined(__ibmxl__) || (defined(_AIX) && defined(__xlC__)) // IBM XL C/C++ #elif defined(__clang__) // Clang #else // GCC #endif
I believe all the PowerPC machines on the GCC compile farm have IBM XL C/C++ installed.
Jeff