On Sunday 10 November 2013 08:19:03 Thiago Macieira wrote: > [...] > Here's what we're proposing: > 1) in the Linux 32-bit packages generated by the Qt Project, we > switch to generating SSE2 code by default and also ask GCC to use > that instead of x87 for FPU operations (add to the command-line: > -msse2 -mfpmath=sse). > [...]
>From http://en.wikipedia.org/wiki/SSE3 : "There is also a new instruction to convert floating point values to integers without having to change the global rounding mode, thus avoiding costly pipeline stalls." According to http://www.taffysoft.com/pages/20120418-01.html the SSE3 set is available on all CPUs since 2005, so I suggest to go for SSE3 (not SSSE3) as the default. > Additional benefits of this change are: > a) all FP math done in Qt will be done using SSE instead of the > slower x87 stack Note that x87 math has higher precision, because it computes with 80 bits internally before rounding final results, but I doubt it has any impact on the computations that Qt does. > b) the drawhelpers will be unconditionally enabled > > c) the SSE2-based code for the Latin1 and UTF-8 codecs will be > unconditionally enabled I have seen crashes ending in Qt SSE2 helper functions, probably because they access more data than needed due to the SIMD nature of the instructions. This can cause access violations on page boundaries. Has the Qt SSE2 code been audited for avoiding these? -- Christoph Feck http://kdepepo.wordpress.com/ KDE Quality Team _______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development