On Tue, Feb 21, 2012 at 7:33 PM, Søren Sandmann <[email protected]> wrote: > From: Søren Sandmann Pedersen <[email protected]> > > It used to be slower than the generic code (with the gcc that was > current in 2007) 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) > --- > pixman/pixman-mmx.c | 7 ------- > 1 files changed, 0 insertions(+), 7 deletions(-) > > 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 ), > -- > 1.7.4
Indeed. Before and after from my SNB system: over_x888_8_8888 = L1: 88.53 L2: 87.95 M: 85.76 ( 5.48%) HT: 74.27 VT: 67.76 R: 66.25 RT: 42.59 ( 536Kops/s) over_x888_8_8888 = L1: 263.69 L2: 260.84 M:247.48 ( 15.65%) HT:197.37 VT:166.21 R:144.30 RT: 72.07 ( 859Kops/s) And for good measure, SSE2: over_x888_8_8888 = L1: 747.44 L2: 735.23 M:635.67 ( 40.42%) HT:308.51 VT:230.03 R:198.13 RT: 86.94 (1004Kops/s) Both patches are Reviewed-by: Matt Turner <[email protected]> (I don't really know if you care about R-b/T-b tags for pixman) _______________________________________________ Pixman mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/pixman
