From 10c77b339f40fc027b682ef16edec234508d327b Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Thu, 23 Feb 2012 16:25:11 -0500 Subject: [PATCH] mmx: simplify srcsrcsrcsrc calculation in over_n_8_0565 --- pixman/pixman-mmx.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/pixman/pixman-mmx.c b/pixman/pixman-mmx.c index 70a035c..eedef8e 100644 --- a/pixman/pixman-mmx.c +++ b/pixman/pixman-mmx.c @@ -2169,7 +2169,7 @@ mmx_composite_over_n_8_0565 (pixman_implementation_t *imp, int dst_stride, mask_stride; int32_t w; __m64 vsrc, vsrca, tmp; - uint64_t srcsrcsrcsrc, src16; + __m64 srcsrcsrcsrc; CHECKPOINT (); @@ -2186,11 +2186,7 @@ mmx_composite_over_n_8_0565 (pixman_implementation_t *imp, vsrca = expand_alpha (vsrc); tmp = pack_565 (vsrc, _mm_setzero_si64 (), 0); - src16 = to_uint64 (tmp); - - srcsrcsrcsrc = - (uint64_t)src16 << 48 | (uint64_t)src16 << 32 | - (uint64_t)src16 << 16 | (uint64_t)src16; + srcsrcsrcsrc = expand_alpha_rev (tmp); while (height--) { @@ -2234,7 +2230,7 @@ mmx_composite_over_n_8_0565 (pixman_implementation_t *imp, if (srca == 0xff && (m0 & m1 & m2 & m3) == 0xff) { - *(uint64_t *)dst = srcsrcsrcsrc; + *(__m64 *)dst = srcsrcsrcsrc; } else if (m0 | m1 | m2 | m3) { -- 2.7.4