[Development] QTBUG-30440: restricting the SIMD files

Thiago Macieira thiago.macieira at intel.com
Thu Aug 15 20:52:34 CEST 2013

On quinta-feira, 15 de agosto de 2013 20:20:04, Oswald Buddenhagen wrote:
> On Thu, Aug 15, 2013 at 05:01:49PM +0000, 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...
> as a matter of fact, linux recently stopped supporting i386. it's
> seriously about time to ignore it. :D

Right, we already do. QAtomicInt::fetchAndAdd* requires i486, so Qt hasn't run 
on i386 for many years now.

> intel atoms are based on P5 (are they still?), so that might be a
> reasonable minimum.

Atoms are actually based on the Pentium-M, which is an offshot of the Pentium 
III. The Pentium IV line (Netburst) was abandoned and the Core line comes back 
to Pentium-M.

In fact, all Atoms have support for SSSE3 (same level as Core2), which AMD 
CPUs didn't have until 2011. This was a major contention issue during MeeGo 
days, because MeeGo binaries were compiled with -march=core2 -mtune=atom and 
people running AMD CPUs couldn't run them.

> otoh, it doesn't actually buy much over i386. P6 is the next really
> interesting instruction set.
> P6+sse2 (over a decade old) is *probably* a good default for desktop
> builds. ^^

Agreed, but one of our most interesting optimisations in the draw helpers is 
to use the PALIGNR instruction, which came with SSSE3. We still need runtime 
detection then.

> it would probably make most sense to have configure set some
> target-specific optimization defaults (for the embedded devices it would
> be possible to put them directly into the qmake specs).

Just set the -march= that you want to set and it should be fine.

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/476046d3/attachment.sig>

More information about the Development mailing list