mmx: remove unnecessary uint64_t<->__m64 conversions
authorMatt Turner <mattst88@gmail.com>
Thu, 23 Feb 2012 21:15:56 +0000 (16:15 -0500)
committerMatt Turner <mattst88@gmail.com>
Fri, 27 Apr 2012 17:35:14 +0000 (13:35 -0400)
Loongson:
add_8888_8888 =  L1:  68.73  L2:  55.09  M: 25.39 ( 68.18%)  HT: 25.28 VT: 22.42  R: 20.74  RT: 13.26 ( 131Kops/s)
add_8888_8888 =  L1: 159.19  L2: 114.10  M: 30.74 ( 77.91%)  HT: 27.63 VT: 24.99  R: 24.61  RT: 14.49 ( 141Kops/s)

pixman/pixman-mmx.c

index 86307b0..70a035c 100644 (file)
@@ -2883,7 +2883,6 @@ mmx_composite_add_8888_8888 (pixman_implementation_t *imp,
                              pixman_composite_info_t *info)
 {
     PIXMAN_COMPOSITE_ARGS (info);
-    __m64 dst64;
     uint32_t    *dst_line, *dst;
     uint32_t    *src_line, *src;
     int dst_stride, src_stride;
@@ -2913,8 +2912,7 @@ mmx_composite_add_8888_8888 (pixman_implementation_t *imp,
 
        while (w >= 2)
        {
-           dst64 = _mm_adds_pu8 (ldq_u ((__m64 *)src), *(__m64*)dst);
-           *(uint64_t*)dst = to_uint64 (dst64);
+           *(__m64 *)dst = _mm_adds_pu8 (ldq_u ((__m64 *)src), *(__m64*)dst);
            dst += 2;
            src += 2;
            w -= 2;