[Development] QTBUG-30440: restricting the SIMD files
Thiago Macieira
thiago.macieira at intel.com
Thu Aug 15 17:06:19 CEST 2013
On quinta-feira, 15 de agosto de 2013 12:57:04, Knoll Lars wrote:
> >What's more, on x86, the default 32-bit build is just nonsense today.
> >CPUs
> >from the past 10 years from both Intel and AMD have had support for SSE2.
>
> THat's a somewhat separate problem, but I agree that it's time to fix our
> default build flags for Qt. We can IMO assume at least standard SSE2
> instructions. If someone needs something for an older processor, compile
> yourself.
Uh... no, I don't think we can assume that. I'm afraid of Sune and other
distro packagers! :-)
I do think our buildsystem is already enough. If CXXFLAGS is set on the
environment, we'll pick it up. If a distribution wants to raise their build
flags, they can easily do that. In fact, I imagine they already do, in their
standard buildsystems.
We may consider doing the same in our own binaries. That's our choice.
> >4) Restrict any CPU-specific code to C or C++ source files with limited
> >#include
> >
> >This is the solution I prefer (suggested by Shane on IRC). We'd keep the
> >special compilers, but we'd drop all the include paths for Qt headers.
> >Those
> >sources would be restricted to system headers, which include the support
> >for
> >intrinsics.
> >
> >For C++ sources, we need to ensure no Standard Library headers are
> >included
> >(same problem as Qt headers). ISO C headers are fine, since C89 doesn't
> >support
> >inlines, and C99 inlines are just plain weird. Most C headers use "static
> >inline" for inlines, which is fine.
> >
> >For that reason, I think we should stick to C, unless there's a very good
> >reason why not (like GCC's dispatch feature, which is only supported in
> >C++).
>
> I'd agree that option (4) is the cleanest solution. Have you checked how
> much we'd need to change to implement it?
No, not yet.
I don't think it will be too hard because those routines are still fairly
limited. I will look into this soon.
It's good I never got to cleaning up and pushing my experiments of 18 months
ago, which I still have in my tree. That went in the complete opposite
direction of moving more C++ code into the specially-compiled files.
The idea isn't incompatible (moving more code), but we need to be very careful
now.
--
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/41fa6352/attachment.sig>
More information about the Development
mailing list