Loongson:
add_8_8 =  L1: 523.72  L2: 392.06  M:113.60 ( 79.78%)  HT: 58.28  VT: 55.76  R: 
43.26  RT: 14.55 ( 146Kops/s)
add_8_8 =  L1: 544.04  L2: 407.85  M:114.49 ( 80.01%)  HT: 74.33  VT: 61.84  R: 
52.84  RT: 18.40 ( 172Kops/s)

ARM/iwMMXt:
add_8_8 =  L1: 213.01  L2: 221.38  M:103.59 ( 62.44%)  HT: 52.84  VT: 48.04  R: 
44.53  RT: 18.19 ( 131Kops/s)
add_8_8 =  L1: 285.81  L2: 217.86  M:102.16 ( 60.34%)  HT: 56.68  VT: 53.97  R: 
47.76  RT: 19.64 ( 143Kops/s)

Signed-off-by: Matt Turner <[email protected]>
---
 pixman/pixman-mmx.c |   30 ++++++++++++++++++++----------
 1 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/pixman/pixman-mmx.c b/pixman/pixman-mmx.c
index 8ad0135..a69aa5b 100644
--- a/pixman/pixman-mmx.c
+++ b/pixman/pixman-mmx.c
@@ -2858,11 +2858,16 @@ mmx_composite_add_8_8 (pixman_implementation_t *imp,
        while (w && (unsigned long)dst & 7)
        {
            s = *src;
-           d = *dst;
-           t = d + s;
-           s = t | (0 - (t >> 8));
-           *dst = s;
-
+           if (s)
+           {
+               if (s != 0xff)
+               {
+                   d = *dst;
+                   t = d + s;
+                   s = t | (0 - (t >> 8));
+               }
+               *dst = s;
+           }
            dst++;
            src++;
            w--;
@@ -2879,11 +2884,16 @@ mmx_composite_add_8_8 (pixman_implementation_t *imp,
        while (w)
        {
            s = *src;
-           d = *dst;
-           t = d + s;
-           s = t | (0 - (t >> 8));
-           *dst = s;
-
+           if (s)
+           {
+               if (s != 0xff)
+               {
+                   d = *dst;
+                   t = d + s;
+                   s = t | (0 - (t >> 8));
+               }
+               *dst = s;
+           }
            dst++;
            src++;
            w--;
-- 
1.7.3.4

_______________________________________________
Pixman mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pixman

Reply via email to