summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/painting.pri
diff options
context:
space:
mode:
authorBenjamin Poulain <benjamin.poulain@nokia.com>2010-08-13 18:57:07 (GMT)
committerBenjamin Poulain <benjamin.poulain@nokia.com>2010-08-16 14:03:13 (GMT)
commit0fb9e0fff4097bf0b84ff217526b0a9c33b69414 (patch)
treeada241b9a5bc13147d9adc9292d58e714211e6dc /src/gui/painting/painting.pri
parentf7a501515fcf1dafecb88a40e18721ea14fd0a13 (diff)
downloadQt-0fb9e0fff4097bf0b84ff217526b0a9c33b69414.zip
Qt-0fb9e0fff4097bf0b84ff217526b0a9c33b69414.tar.gz
Qt-0fb9e0fff4097bf0b84ff217526b0a9c33b69414.tar.bz2
Implement the general blending of ARGB32_pm with SSSE3
SSSE3 provides two tools to improve the blending speed over SSE2: -palignr -byte permutation The alignement is enforced on src and dst with palignr to always make aligned access. The extraction of the alpha mask is done with a byte permutation in order to save two instructions per cycle. On Atom, this patch gives between 0% (aligned src) to 10% of improvement (unaligned 4 and 12 bytes). On Core 2, this patch gives consistently 8% to 10% of improvement for every miss-alignment. Reviewed-by: Samuel Rødal
Diffstat (limited to 'src/gui/painting/painting.pri')
-rw-r--r--src/gui/painting/painting.pri1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gui/painting/painting.pri b/src/gui/painting/painting.pri
index dfa4a48..793d380 100644
--- a/src/gui/painting/painting.pri
+++ b/src/gui/painting/painting.pri
@@ -212,6 +212,7 @@ if(mmx|3dnow|sse|sse2|iwmmxt) {
SSE3DNOW_SOURCES += painting/qdrawhelper_sse3dnow.cpp
SSE_SOURCES += painting/qdrawhelper_sse.cpp
SSE2_SOURCES += painting/qdrawhelper_sse2.cpp
+ SSSE3_SOURCES += painting/qdrawhelper_ssse3.cpp
IWMMXT_SOURCES += painting/qdrawhelper_iwmmxt.cpp
}