pixman: Branch 'master' - 2 commits

Søren Sandmann Pedersen sandmann at kemper.freedesktop.org
Wed Feb 22 11:18:37 PST 2012


 pixman/pixman-mmx.c |   25 +++++--------------------
 1 file changed, 5 insertions(+), 20 deletions(-)

New commits:
commit 51ae3f2d7f25daebbc767f161f0097b581d1554b
Author: Søren Sandmann Pedersen <ssp at redhat.com>
Date:   Tue Feb 21 19:30:04 2012 -0500

    mmx: Delete unused function in_over_full_src_alpha()
    
    Also a few minor formatting fixes.
    
    Reviewed-by: Matt Turner <mattst88 at gmail.com>

diff --git a/pixman/pixman-mmx.c b/pixman/pixman-mmx.c
index 609e532..a3500ce 100644
--- a/pixman/pixman-mmx.c
+++ b/pixman/pixman-mmx.c
@@ -63,7 +63,7 @@ _mm_empty (void)
 extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
 _mm_mulhi_pu16 (__m64 __A, __m64 __B)
 {
-    asm("pmulhuw %1, %0\n\t"
+    asm ("pmulhuw %1, %0\n\t"
 	: "+y" (__A)
 	: "y" (__B)
     );
@@ -75,7 +75,7 @@ _mm_shuffle_pi16 (__m64 __A, int8_t const __N)
 {
     __m64 ret;
 
-    asm("pshufw %2, %1, %0\n\t"
+    asm ("pshufw %2, %1, %0\n\t"
 	: "=y" (ret)
 	: "y" (__A), "K" (__N)
     );
@@ -259,19 +259,19 @@ pix_add (__m64 a, __m64 b)
 static force_inline __m64
 expand_alpha (__m64 pixel)
 {
-    return _mm_shuffle_pi16(pixel, _MM_SHUFFLE (3, 3, 3, 3));
+    return _mm_shuffle_pi16 (pixel, _MM_SHUFFLE (3, 3, 3, 3));
 }
 
 static force_inline __m64
 expand_alpha_rev (__m64 pixel)
 {
-    return _mm_shuffle_pi16(pixel, _MM_SHUFFLE (0, 0, 0, 0));
+    return _mm_shuffle_pi16 (pixel, _MM_SHUFFLE (0, 0, 0, 0));
 }
 
 static force_inline __m64
 invert_colors (__m64 pixel)
 {
-    return _mm_shuffle_pi16(pixel, _MM_SHUFFLE (3, 0, 1, 2));
+    return _mm_shuffle_pi16 (pixel, _MM_SHUFFLE (3, 0, 1, 2));
 }
 
 static force_inline __m64
@@ -297,14 +297,6 @@ in (__m64 src, __m64 mask)
     return pix_multiply (src, mask);
 }
 
-static force_inline __m64
-in_over_full_src_alpha (__m64 src, __m64 mask, __m64 dest)
-{
-    src = _mm_or_si64 (src, MC (full_alpha));
-
-    return over (in (src, mask), mask, dest);
-}
-
 #ifndef _MSC_VER
 static force_inline __m64
 in_over (__m64 src, __m64 srca, __m64 mask, __m64 dest)
commit bbd1e6941b39adcdb64c77670889314fa8461c0b
Author: Søren Sandmann Pedersen <ssp at redhat.com>
Date:   Tue Feb 21 19:23:33 2012 -0500

    mmx: Enable over_x888_8_8888() for x86 as well
    
    It used to be slower than the generic code (with the gcc that was
    current in 2007), but that doesn't seem to be the case anymore:
    
    over_x888_8_8888 =  L1:  22.97  L2:  22.88  M: 22.27 (  5.29%)  HT: 18.30  VT: 15.81  R: 15.54  RT: 10.35 ( 131Kops/s)
    over_x888_8_8888 =  L1:  53.56  L2:  53.20  M: 50.50 ( 11.99%)  HT: 38.60  VT: 31.19  R: 29.00  RT: 17.37 ( 208Kops/s)
    
    Reviewed-by: Matt Turner <mattst88 at gmail.com>

diff --git a/pixman/pixman-mmx.c b/pixman/pixman-mmx.c
index 09b2077..609e532 100644
--- a/pixman/pixman-mmx.c
+++ b/pixman/pixman-mmx.c
@@ -3029,7 +3029,6 @@ mmx_composite_copy_area (pixman_implementation_t *imp,
                     src_x, src_y, dest_x, dest_y, width, height);
 }
 
-#ifdef USE_ARM_IWMMXT
 static void
 mmx_composite_over_x888_8_8888 (pixman_implementation_t *imp,
                                 pixman_composite_info_t *info)
@@ -3086,7 +3085,6 @@ mmx_composite_over_x888_8_8888 (pixman_implementation_t *imp,
 
     _mm_empty ();
 }
-#endif
 
 static const pixman_fast_path_t mmx_fast_paths[] =
 {
@@ -3116,15 +3114,10 @@ static const pixman_fast_path_t mmx_fast_paths[] =
     PIXMAN_STD_FAST_PATH    (OVER, a8r8g8b8, solid,    x8r8g8b8, mmx_composite_over_8888_n_8888    ),
     PIXMAN_STD_FAST_PATH    (OVER, a8b8g8r8, solid,    a8b8g8r8, mmx_composite_over_8888_n_8888    ),
     PIXMAN_STD_FAST_PATH    (OVER, a8b8g8r8, solid,    x8b8g8r8, mmx_composite_over_8888_n_8888    ),
-#ifdef USE_ARM_IWMMXT
-    /* FIXME: This code is commented out since it's apparently
-     * not actually faster than the generic code on x86.
-     */
     PIXMAN_STD_FAST_PATH    (OVER, x8r8g8b8, a8,       x8r8g8b8, mmx_composite_over_x888_8_8888    ),
     PIXMAN_STD_FAST_PATH    (OVER, x8r8g8b8, a8,       a8r8g8b8, mmx_composite_over_x888_8_8888    ),
     PIXMAN_STD_FAST_PATH    (OVER, x8b8g8r8, a8,       x8b8g8r8, mmx_composite_over_x888_8_8888    ),
     PIXMAN_STD_FAST_PATH    (OVER, x8b8g8r8, a8,       a8b8g8r8, mmx_composite_over_x888_8_8888    ),
-#endif
     PIXMAN_STD_FAST_PATH    (OVER, solid,    null,     a8r8g8b8, mmx_composite_over_n_8888         ),
     PIXMAN_STD_FAST_PATH    (OVER, solid,    null,     x8r8g8b8, mmx_composite_over_n_8888         ),
     PIXMAN_STD_FAST_PATH    (OVER, solid,    null,     r5g6b5,   mmx_composite_over_n_0565         ),


More information about the xorg-commit mailing list