[Nouveau] [Bug 93454] Can't build with LLVM/clang 3.7.0 - SSSE3 instruction set not enabled

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sun Dec 20 02:37:50 PST 2015


https://bugs.freedesktop.org/show_bug.cgi?id=93454

--- Comment #6 from Jose Fonseca <jfonseca at vmware.com> ---
The issue is simple:

- GCC used to require -msse3 in order to include tmmintrin.h 
- MSVC/ICC does not
- GCC 4.9 finally eliminated that awkward requirement -- it's now possible to
use SSE3 instrinsics without giving GCC carte blanch to emit SSSE3 whenever it
wants

- it appears Clang claims to be GCC 4.9 but does not in fact support this.


We can workaround by adding   

diff --git a/src/gallium/include/pipe/p_config.h
b/src/gallium/include/pipe/p_config.h
index 0b570c7..7d5d7d4 100644
--- a/src/gallium/include/pipe/p_config.h
+++ b/src/gallium/include/pipe/p_config.h
@@ -96,7 +96,7 @@
 #else
 #define PIPE_ARCH_SSE
 #endif
-#if defined(PIPE_CC_GCC) && (__GNUC__ * 100 + __GNUC_MINOR__) < 409 &&
!defined(__SSSE3__)
+#if defined(PIPE_CC_GCC) && ((__GNUC__ * 100 + __GNUC_MINOR__) < 409 ||
defined(__clang__)) && !defined(__SSSE3__)
 /* #warning SSE3 support requires -msse3 compiler options before GCC 4.9 */
 #else
 #define PIPE_ARCH_SSSE3


But this is above all a bug in Clang 3.7.  If that strive/claim to be GCC 4.9
then they should handle this too.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/nouveau/attachments/20151220/28dcf914/attachment.html>


More information about the Nouveau mailing list