diff options
author | Siarhei Siamashka <siarhei.siamashka@nokia.com> | 2009-08-12 20:22:24 +0300 |
---|---|---|
committer | Siarhei Siamashka <siarhei.siamashka@nokia.com> | 2009-08-13 18:17:13 +0300 |
commit | 29c2ae4a0cf924cb011467687a4c43237fb2316c (patch) | |
tree | 8bfd04fba07f4dda90261463d8fc029d3756b3fd | |
parent | ed4598f08a359346d14fe5b2bbb7b74c40332b18 (diff) |
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.
-rw-r--r-- | pixman/pixman-arm-neon.c | 3 |
1 files changed, 2 insertions, 1 deletions
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" |