From 29c2ae4a0cf924cb011467687a4c43237fb2316c Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Wed, 12 Aug 2009 20:22:24 +0300 Subject: ARM: a fix to pass blitters-test for 'neon_composite_over_n_8_0565' Inline assembly for handling <8 pixels width did not pass blitters-test. Fortunately gcc has no problems compiling alternative implementation which is using RVCT style intrinsics, so it can be used instead. --- pixman/pixman-arm-neon.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pixman/pixman-arm-neon.c b/pixman/pixman-arm-neon.c index 14f7482..4125d1b 100644 --- a/pixman/pixman-arm-neon.c +++ b/pixman/pixman-arm-neon.c @@ -835,7 +835,7 @@ neon_composite_over_n_8_0565 (pixman_implementation_t * impl, w = width; -#ifndef USE_GCC_INLINE_ASM +#if 1 /* #ifndef USE_GCC_INLINE_ASM */ uint8x8_t alpha; uint16x8_t dval, temp; uint8x8x4_t sval8temp; @@ -872,6 +872,7 @@ neon_composite_over_n_8_0565 (pixman_implementation_t * impl, if (w&4) vst1q_lane_u64 ((void *)dst4, vreinterpretq_u64_u16 (temp),1); #else + /* this code has some bug (does not pass blitters-test) */ asm volatile ( "vdup.32 d0, %[src]\n\t" "vdup.8 d1, d0[1]\n\t" -- cgit v1.2.3