[Pixman] [PATCH] Make sure iwMMXt is only detected on ARM
sandmann at cs.au.dk
Thu Oct 6 04:15:50 PDT 2011
Matt Turner <mattst88 at gmail.com> writes:
> I'm not able to reproduce it, but I have two reports that iwMMXt is
> incorrectly detected on x86 and amd64. This happens because it uses the
> standard _mm_* intrinsic functions. It should fail on x86 and amd64
> because configure will use -march=iwmmxt to compile the test, which
> isn't a valid option on these platforms.
> So, just #error out in the test if the __arm__ preprocessor directive
> isn't defined.
Looks good to me, though presumably accepting -march=iwmmxt on x86 is a
bug in GCC. Also, looking at this again, isn't there a typo in the
#if defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 3 && __GNUC_MINOR__ < 6))
#error "Need GCC >= 4.6 for IWMMXT intrinsics"
where __GNUC__ == 3 should be __GNUC__ == 4?
> Fixes https://bugs.gentoo.org/show_bug.cgi?id=385179
> Signed-off-by: Matt Turner <mattst88 at gmail.com>
> configure.ac | 3 +++
> 1 files changed, 3 insertions(+), 0 deletions(-)
> diff --git a/configure.ac b/configure.ac
> index 481d0bb..471a127 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -552,6 +552,9 @@ AC_MSG_CHECKING(whether to use ARM IWMMXT intrinsics)
> CFLAGS="$IWMMXT_CFLAGS $CFLAGS"
> +#ifndef __arm__
> +#error "IWMMXT is only available on ARM"
> #if defined(__GNUC__) && (__GNUC__ < 4 || (__GNUC__ == 3 && __GNUC_MINOR__ < 6))
> #error "Need GCC >= 4.6 for IWMMXT intrinsics"
More information about the Pixman