[Pixman] [PATCH 2/2] configure: Add check for pmulhuw assembly

Søren Sandmann sandmann at cs.au.dk
Wed Oct 9 19:23:45 PDT 2013


From: Søren Sandmann Pedersen <ssp at redhat.com>

Clang 3.0 chokes on the following bit of assembly

    asm ("pmulhuw %1, %0\n\t"
        : "+y" (__A)
        : "y" (__B)
    );

from pixman-mmx.c with this error message:

    fatal error: error in backend: Unsupported asm: input constraint
        with a matching output constraint of incompatible type!

So add a check in configure to only enable MMX when the compiler can
deal with it.
---
 configure.ac | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/configure.ac b/configure.ac
index 2dd4776..59e31c4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -355,6 +355,12 @@ int main () {
         : "y" (v), "K" (5)
     );
 
+    /* Some versions of clang will choke on this */
+    asm ("pmulhuw %1, %0\n\t"
+	: "+y" (w)
+	: "y" (v)
+    );
+
     return _mm_cvtsi64_si32 (v);
 }]])], have_mmx_intrinsics=yes)
 CFLAGS=$xserver_save_CFLAGS
-- 
1.7.11.7



More information about the Pixman mailing list