pixman: Branch 'master'

Siarhei Siamashka siamashka at kemper.freedesktop.org
Thu Sep 3 09:49:36 PDT 2009


 pixman/pixman-arm-neon.c |    6 ++++++
 1 file changed, 6 insertions(+)

New commits:
commit 3e228377f9e7159a52a3716d8e4930c5a9dbb1af
Author: Siarhei Siamashka <siarhei.siamashka at nokia.com>
Date:   Fri Aug 28 22:34:21 2009 +0300

    ARM: workaround for gcc bug in vshll_n_u8 intrinsic
    
    Some versions of gcc (cs2009q1, 4.4.1) incorrectly reject
    shift operand having value >= 8, claiming that it is out of
    range. So inline assembly is used as a workaround.

diff --git a/pixman/pixman-arm-neon.c b/pixman/pixman-arm-neon.c
index eab0ac4..422b95e 100644
--- a/pixman/pixman-arm-neon.c
+++ b/pixman/pixman-arm-neon.c
@@ -64,6 +64,12 @@ unpack0565 (uint16x8_t rgb)
     return res;
 }
 
+#ifdef USE_GCC_INLINE_ASM
+/* Some versions of gcc have problems with vshll_n_u8 intrinsic (Bug 23576) */
+#define vshll_n_u8(a, n) ({ uint16x8_t r; \
+    asm ("vshll.u8 %q0, %P1, %2\n" : "=w" (r) : "w" (a), "i" (n)); r; })
+#endif
+
 static force_inline uint16x8_t
 pack0565 (uint8x8x4_t s)
 {


More information about the xorg-commit mailing list