Apply a patch from pixman upstream to fix the follwing build error with clang:
pixman-mmx.c:100:20: error: constraint 'K' expects an integer constant expression
        : "y" (__A), "K" (__N)

The error happens because __N is a function parameter and clang does not
process it as an integer literal by design.
Fix this by forcing the macro version of the function which exposes __N value
as an integer literal. https://crbug.com/793487
diff -Nuar old/pixman/pixman-mmx.c new/pixman/pixman-mmx.c
--- old/pixman/pixman-mmx.c
+++ new/pixman/pixman-mmx.c
@@ -89,20 +89,6 @@
     return __A;
 }
 
-#  ifdef __OPTIMIZE__
-extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
-_mm_shuffle_pi16 (__m64 __A, int8_t const __N)
-{
-    __m64 ret;
-
-    asm ("pshufw %2, %1, %0\n\t"
-	: "=y" (ret)
-	: "y" (__A), "K" (__N)
-    );
-
-    return ret;
-}
-#  else
 #   define _mm_shuffle_pi16(A, N)					\
     ({									\
 	__m64 ret;							\
@@ -114,7 +100,6 @@
 									\
 	ret;								\
     })
-#  endif
 # endif
 #endif
 
