Opened 11 years ago

Closed 10 years ago

#48 closed defect (fixed)

Enable MMX/SSE

Reported by: Dmitry A. Kuminov Owned by:
Priority: major Milestone: Qt 4.6.2
Component: General Version: 4.5.1 Beta 1
Severity: high Keywords:
Cc:

Description

The Qt4 painting engine makes usage of various MMX/3DNow and SSE/SSE2 extensions on platforms which support it. These extensions seem to be accessed through the inclusion of <mmintrin.h>, <mm3dnow.h>, <xmmintrin.h> and <emmintrin.h> headers provided by the platform's compiler.

GCC for OS/2 doesn't have these headers. This ticket is to investigate where to get them and how to adopt to our compiler.

Change History (4)

comment:1 Changed 10 years ago by Silvan Scherrer

Severity: high

comment:2 Changed 10 years ago by Dmitry A. Kuminov

Milestone: Qt EnhancedQt 4.6.1

Actually, GGC 3.3.5 contains all these headers but mm3dnow.h. GCC 4.4.2 contains all of them. So it should be easy to enable now.

comment:3 Changed 10 years ago by Dmitry A. Kuminov

Enabled in r617 early to give it some testing before the release. Note that you need to re-run configure.cmd and touch src/gui/painting/qdrawhelper.cpp to get it involved.

So far, I don't see any significant performance change in the tests/blit test case when using MMX/SSE on my machine. This may be due to the fact that I a) only tried the debug build or b) run it in the virtualized environment.

So, somebody with the real hardware and the release build of the trunk, please record the tests/blit numbers (see last comments in #101 for details) before r617 and after it (don't forget to run configure and touch qdrawhelper.cpp).

comment:4 Changed 10 years ago by Dmitry A. Kuminov

Resolution: fixed
Status: newclosed

Silvan did some tests in #101. Closing this one.

Note: See TracTickets for help on using tickets.