From: Matt Turner Date: Fri, 24 Feb 2012 17:34:41 +0000 (-0500) Subject: mmx: add load function and use it in add_8888_8888 X-Git-Tag: pixman-0.25.6~22 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2e54b76a2d2203b6a70190f488d76d6d409e879a;p=platform%2Fupstream%2Fpixman.git mmx: add load function and use it in add_8888_8888 --- diff --git a/pixman/pixman-mmx.c b/pixman/pixman-mmx.c index 36cf2cd..f8dfca7 100644 --- a/pixman/pixman-mmx.c +++ b/pixman/pixman-mmx.c @@ -356,9 +356,15 @@ static force_inline uint32_t ldl_u(const uint32_t *p) } static force_inline __m64 +load (const uint32_t *v) +{ + return _mm_cvtsi32_si64 (*v); +} + +static force_inline __m64 load8888 (const uint32_t *v) { - return _mm_unpacklo_pi8 (_mm_cvtsi32_si64 (*v), _mm_setzero_si64 ()); + return _mm_unpacklo_pi8 (load (v), _mm_setzero_si64 ()); } static force_inline __m64 @@ -2864,8 +2870,8 @@ mmx_composite_add_8888_8888 (pixman_implementation_t *imp, while (w && (unsigned long)dst & 7) { - store (dst, _mm_adds_pu8 (_mm_cvtsi32_si64 (*src), - _mm_cvtsi32_si64 (*dst))); + store (dst, _mm_adds_pu8 (load ((const uint32_t *)src), + load ((const uint32_t *)dst))); dst++; src++; w--; @@ -2882,8 +2888,8 @@ mmx_composite_add_8888_8888 (pixman_implementation_t *imp, if (w) { - store (dst, _mm_adds_pu8 (_mm_cvtsi32_si64 (*src), - _mm_cvtsi32_si64 (*dst))); + store (dst, _mm_adds_pu8 (load ((const uint32_t *)src), + load ((const uint32_t *)dst))); } }