From 2e54b76a2d2203b6a70190f488d76d6d409e879a Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Fri, 24 Feb 2012 12:34:41 -0500 Subject: [PATCH] mmx: add load function and use it in add_8888_8888 --- pixman/pixman-mmx.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) 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))); } } -- 2.7.4