From 3a5df752e6ca577c7966dcabf46c6eb09202cd97 Mon Sep 17 00:00:00 2001 From: Yury Usischev Date: Tue, 23 Jul 2013 21:15:19 +0900 Subject: [PATCH] evas - fix long standing c "fallback" code "simd" (2 register) multiply --- ChangeLog | 4 ++++ NEWS | 1 + src/lib/evas/include/evas_blend_ops.h | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index f4f56c4315..46cc14372d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,10 @@ * Evas: fix infinite loop if app use ecore evas image +2013-07-23 Yury Usischev + + * Fix a long-standing off-by-1 in the C MUL4_SYM "simd" multiplier. + 2013-07-22 José Roberto de Souza * Edje: Refactor signal callbacks flags diff --git a/NEWS b/NEWS index 74f69279e4..014928678c 100644 --- a/NEWS +++ b/NEWS @@ -317,6 +317,7 @@ Fixes: - Fix jpeg loader cannot deal with exif information correctly. - Fix issue when parsing formats with quotes. - Fix infinite loop if app use ecore evas image + - Fix a long-standing off-by-1 in the C "simd" multiplier. * Ecore: - Don't leak fd on exec. - Fix fd handler increase issue when ecore_pipe_add/del is called repeatedly. diff --git a/src/lib/evas/include/evas_blend_ops.h b/src/lib/evas/include/evas_blend_ops.h index 828b2856a6..0a78843579 100644 --- a/src/lib/evas/include/evas_blend_ops.h +++ b/src/lib/evas/include/evas_blend_ops.h @@ -106,7 +106,7 @@ extern const DATA32 ALPHA_256; #define MUL4_SYM(x, y) \ ( ((((((x) >> 16) & 0xff00) * (((y) >> 16) & 0xff00)) + 0xff0000) & 0xff000000) + \ ((((((x) >> 8) & 0xff00) * (((y) >> 16) & 0xff)) + 0xff00) & 0xff0000) + \ - ((((((x) & 0xff00) * ((y) & 0xff00)) + 0xff00) >> 16) & 0xff00) + \ + ((((((x) & 0xff00) * ((y) & 0xff00)) + 0xff0000) >> 16) & 0xff00) + \ (((((x) & 0xff) * ((y) & 0xff)) + 0xff) >> 8) ) #define MUL3_SYM(x, y) \