Thiago Macieira wrote:

> For Clang, QT_COMPILER_SUPPORTS_HERE(x) expands to a check defined(__x__) [in
> this case, if __SSE4_2__ is defined].

I had a hunch it'd be that, but must have missed the actual macro definition 
where this would have become evident (I was working remotely, so only used vi 
to 
browse the code).
> 
> Ah, that is actually the issue.

I'm actually a bit surprised that either the compiler finds nothing in the Qt 
code to auto-vectorise with SSE4 instructions, or that that doesn't lead to 
issues in the linker with LTO.
> 
> You're on OS X. All 64-bit Mac hardware supports SSE 4.2, so that feature is
> always enabled when compiling 64-bit code. The -no-sse4.2 option has no effect
> on 64-bit, the same way that the -no-ssse3 option has no effect in 32-bit
> code.

I find that a bit curious. Why disallow the user to deactivate support for SSEx 
(and why not even printing a message drawing attention to the fact)?
Fortunately your claim isn't true to the extent that the feature is enabled 
also 
when SSE4 support is not enabled at the level of the compiler.

Also, note that code that has to run on VMs may need to deactivate SSE4 
support. 
There is at least 1 virtualisation solution that does not expose the 
instruction 
set.

R.

_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to