[Development] QTBUG-30440: restricting the SIMD files

Thiago Macieira thiago.macieira at intel.com
Thu Aug 15 21:04:36 CEST 2013

On quinta-feira, 15 de agosto de 2013 17:01:49, Knoll Lars wrote:
> On 8/15/13 5:07 PM, "Sune Vuorela" <nospam at vuorela.dk> wrote:
> >On 2013-08-15, Thiago Macieira <thiago.macieira at intel.com> wrote:
> >> Uh... no, I don't think we can assume that. I'm afraid of Sune and
> >>
> >>other
> >>
> >> distro packagers! :-)
> >
> >*whistles innocently*
> But honestly: What's the oldest CPU you still consider supported? It must
> be a bit newer then i386, which I think our default build flags currently
> are still compatible with...

The Qt source code requires i486, even if the compiler doesn't generate i486 
code. The only interesting instruction from i486 is XADD, which the compiler 
doesn't generate by default (unless you're using GCC atomic intrinsics) and we 
use in assembly from qatomic_x86.h.

But I don't think we should raise that at the Qt Project level. It's a 
distribution choice. And as I said, the distro engines probably already set 
the necessary CFLAGS and CXXFLAGS when building to their minima, and our 
buildsystem will pick them up.

We should do the same for our binaries, though: set the minimum to something 
from the past decade.

I recommend:
	CFLAGS (x86) = -march=i686 -mtune=core2 -msse2 -mfpmath=sse
	CFLAGS (x86-64) = -mtune=core2
	LFLAGS = -Wl,-O1 -Wl,--as-needed -Wl,-z,relro

For MSVC, set CFLAGS on x86 to -arch:SSE2.

Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/development/attachments/20130815/1f863b21/attachment.sig>

More information about the Development mailing list