summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qdrawhelper_x86_p.h
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2011-12-29 18:09:46 -0200
committerQt by Nokia <qt-info@nokia.com>2012-03-28 14:54:12 +0200
commitd43fe0b672a665fc366f7d4a91a522959801165d (patch)
tree07ef87adf783aea20725597f8732c2bc0b037f65 /src/gui/painting/qdrawhelper_x86_p.h
parentd2b1c2ef1f1fea3200d8dee5c58fe79649fd13bb (diff)
Remove the old code using MMX registers.
There are only 8 MMX registers, each 64-bit wide, and they alias the x87 registers. The access to the MMX register cannot use the new VEX-prefix instructions either. All of the functions being replaced are either present in the qdrawhelper_sse2.cpp and qdrawhelper_ssse3.cpp files, or the plain C++ function in qdrawhelper.cpp is vectorised when compiled with -ftree-vectorize (enabled in -O3), if SSE2 support is enabled. All x86-64 processors have SSE2, so this is a net improvement for 64-bit builds. For 32-bit builds, without further support this will cause the code to use non-vector or x87 instructions, which aren't the best. The solution will come in another commit. Change-Id: I4a22d8a2516b79172867510202d0fd627db54807 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'src/gui/painting/qdrawhelper_x86_p.h')
-rw-r--r--src/gui/painting/qdrawhelper_x86_p.h52
1 files changed, 2 insertions, 50 deletions
diff --git a/src/gui/painting/qdrawhelper_x86_p.h b/src/gui/painting/qdrawhelper_x86_p.h
index ada0bec0e3..93abaf4fff 100644
--- a/src/gui/painting/qdrawhelper_x86_p.h
+++ b/src/gui/painting/qdrawhelper_x86_p.h
@@ -57,54 +57,6 @@
QT_BEGIN_NAMESPACE
-#ifdef QT_HAVE_MMX
-extern CompositionFunction qt_functionForMode_MMX[];
-extern CompositionFunctionSolid qt_functionForModeSolid_MMX[];
-void qt_blend_color_argb_mmx(int count, const QSpan *spans, void *userData);
-#endif
-
-#ifdef QT_HAVE_MMXEXT
-void qt_memfill32_mmxext(quint32 *dest, quint32 value, int count);
-void qt_bitmapblit16_mmxext(QRasterBuffer *rasterBuffer, int x, int y,
- quint32 color, const uchar *src,
- int width, int height, int stride);
-#endif
-
-#ifdef QT_HAVE_3DNOW
-#if defined(QT_HAVE_MMX) || !defined(QT_HAVE_SSE)
-extern CompositionFunction qt_functionForMode_MMX3DNOW[];
-extern CompositionFunctionSolid qt_functionForModeSolid_MMX3DNOW[];
-
-void qt_blend_color_argb_mmx3dnow(int count, const QSpan *spans,
- void *userData);
-#endif // MMX
-
-#ifdef QT_HAVE_SSE
-extern CompositionFunction qt_functionForMode_SSE3DNOW[];
-extern CompositionFunctionSolid qt_functionForModeSolid_SSE3DNOW[];
-
-void qt_memfill32_sse3dnow(quint32 *dest, quint32 value, int count);
-void qt_bitmapblit16_sse3dnow(QRasterBuffer *rasterBuffer, int x, int y,
- quint32 color,
- const uchar *src, int width, int height,
- int stride);
-void qt_blend_color_argb_sse3dnow(int count, const QSpan *spans,
- void *userData);
-#endif // SSE
-#endif // QT_HAVE_3DNOW
-
-#ifdef QT_HAVE_SSE
-void qt_memfill32_sse(quint32 *dest, quint32 value, int count);
-void qt_bitmapblit16_sse(QRasterBuffer *rasterBuffer, int x, int y,
- quint32 color,
- const uchar *src, int width, int height, int stride);
-
-void qt_blend_color_argb_sse(int count, const QSpan *spans, void *userData);
-
-extern CompositionFunction qt_functionForMode_SSE[];
-extern CompositionFunctionSolid qt_functionForModeSolid_SSE[];
-#endif // QT_HAVE_SSE
-
#ifdef QT_HAVE_SSE2
void qt_memfill32_sse2(quint32 *dest, quint32 value, int count);
void qt_memfill16_sse2(quint16 *dest, quint16 value, int count);
@@ -123,8 +75,8 @@ void qt_blend_rgb32_on_rgb32_sse2(uchar *destPixels, int dbpl,
int w, int h,
int const_alpha);
-extern CompositionFunction qt_functionForMode_onlySSE2[];
-extern CompositionFunctionSolid qt_functionForModeSolid_onlySSE2[];
+extern CompositionFunction qt_functionForMode_SSE2[];
+extern CompositionFunctionSolid qt_functionForModeSolid_SSE2[];
#endif // QT_HAVE_SSE2
#ifdef QT_HAVE_IWMMXT