From: Rob Tsuk <robt...@google.com> Pixman uses __builtin_shuffle builtin function in the code, which relies on GCC vector extensions. So we also need to have it in the configure.ac test snippet code.
GCC and Clang have different incompatible builtin functions for this functionality. Clang 4 now supports "shift vector by scalar" operation in its vector extension too and could pass the old incomplete variant of the configure check, but failed to compile pixman. Reviewed-by: Siarhei Siamashka <siarhei.siamas...@gmail.com> [Siarhei: update commit message, use result of __builtin_shuffle] --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index a592cba..caac10e 100644 --- a/configure.ac +++ b/configure.ac @@ -1102,7 +1102,7 @@ support_for_gcc_vector_extensions=no AC_MSG_CHECKING(for GCC vector extensions) AC_LINK_IFELSE([AC_LANG_SOURCE([[ unsigned int __attribute__ ((vector_size(16))) e, a, b; -int main (void) { e = a - ((b << 27) + (b >> (32 - 27))) + 1; return e[0]; } +int main (void) { e = __builtin_shuffle(a, b) - ((b << 27) + (b >> 5)) + 1; return e[0]; } ]])], support_for_gcc_vector_extensions=yes) if test x$support_for_gcc_vector_extensions = xyes; then -- 2.7.3 _______________________________________________ Pixman mailing list Pixman@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/pixman