diff options
author | Matt Turner <mattst88@gmail.com> | 2011-10-05 22:54:36 -0400 |
---|---|---|
committer | Matt Turner <mattst88@gmail.com> | 2011-10-06 17:52:12 -0400 |
commit | 0a34277180d29f471a2554afc2e2b682fee33c79 (patch) | |
tree | 272a95514f3ee87bae9f11e424d2e289a89a7c97 /configure.ac | |
parent | 879b7c21e45b092272e689e05dc867f6260e258f (diff) |
Make sure iwMMXt is only detected on ARM
iwMMXt is incorrectly detected on x86 and amd64. This happens because
the test uses standard _mm_* intrinsic functions which it compiles with
-march=iwmmxt, but when the user has set CFLAGS=-march=k8 for instance,
no error is generated from -march=iwmmxt, even though it's not a valid
flag on x86/amd64. Passing CFLAGS=-march=native does not override the
-march=iwmmxt flag though, which is why it wasn't noticed before.
So, just #error out in the test if the __arm__ preprocessor directive
isn't defined.
Fixes https://bugs.gentoo.org/show_bug.cgi?id=385179
Signed-off-by: Matt Turner <mattst88@gmail.com>
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 481d0bb0..471a127d 100644 --- a/configure.ac +++ b/configure.ac @@ -552,6 +552,9 @@ AC_MSG_CHECKING(whether to use ARM IWMMXT intrinsics) xserver_save_CFLAGS=$CFLAGS CFLAGS="$IWMMXT_CFLAGS $CFLAGS" AC_COMPILE_IFELSE([ +#ifndef __arm__ +#error "IWMMXT is only available on ARM" +#endif #if defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 3 && __GNUC_MINOR__ < 6)) #error "Need GCC >= 4.6 for IWMMXT intrinsics" #endif |