GCC 7 on ppc64le does not recognize vec_xl_be?
Jeffrey Walton
noloader@gmail.com
Sat Nov 16 01:07:00 GMT 2019
Hi Everyone,
I have a Travis job failing on ppc64le:
https://travis-ci.org/noloader/cryptopp-pem/jobs/612654182 .
Compiling a source file with Power9 flags:
g++ -DNDEBUG -g2 -O3 -mcpu=power9 -maltivec -c ppc_power9.cpp
That includes a header with this function:
inline uint32x4_p VecLoadBE(const byte src[16])
{
#if defined(_ARCH_PWR9)
return (uint32x4_p)vec_xl_be(0, CONST_V8_CAST(src));
#elif (BIG_ENDIAN)
return (uint32x4_p)VecLoad(src);
#else
return (uint32x4_p)VecReverse(VecLoad(src));
#endif
}
Results in:
ppc_simd.h: In function ‘uint32x4_p VecLoadBE(const byte*)’:
ppc_simd.h:466:24: error: ‘vec_xl_be’ was not declared in this scope
return (uint32x4_p)vec_xl_be(0, CONST_V8_CAST(src));
According to the GCC docs vec_xl_be is available with ISA 3.0:
https://gcc.gnu.org/onlinedocs/gcc/PowerPC-AltiVec-Built-in-Functions-Available-on-ISA-3_002e0.html
Does someone know why the compile is failing?
Thanks in advance.
More information about the Gcc-help
mailing list