There are some interfaces in altivec.h that are not compatible between Clang and XL (although Clang is compatible with GCC). Currently, we have found 3 but there may be others.
Clang/GCC signatures:
vector double vec_ctf(vector signed long long) vector double vec_ctf(vector unsigned long long) vector signed long long vec_cts(vector double) vector unsigned long long vec_ctu(vector double)
XL signatures:
vector float vec_ctf(vector signed long long) vector float vec_ctf(vector unsigned long long) vector signed int vec_cts(vector double) vector unsigned int vec_ctu(vector double)
This patch provides the XL behaviour under the __XL_COMPAT_ALTIVEC__ macro for users that rely on XL behaviour.
clang-tidy: error: "AltiVec support not enabled" [clang-diagnostic-error]
not useful