[LLVMbugs] [Bug 7846] New: Certain march flags don't enable expected instruction sets
    bugzilla-daemon at llvm.org 
    bugzilla-daemon at llvm.org
       
    Sun Aug  8 22:44:14 PDT 2010
    
    
  
http://llvm.org/bugs/show_bug.cgi?id=7846
           Summary: Certain march flags don't enable expected instruction
                    sets
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: lloyd at randombit.net
                CC: llvmbugs at cs.uiuc.edu
As far as I can tell, all Nehalem/Westmere processors implement SSSE3, however
clang trunk (r110550) thinks that Nehalem does not have SSSE3:
$ cat ssse3.c 
#include <tmmintrin.h>
int main() {}
$ clang -march=nehalem ssse3.c -o ssse3
In file included from ssse3.c:1:
/usr/lib/clang/2.8/include/tmmintrin.h:28:2: error: #error "SSSE3 instruction
      set not enabled"
#error "SSSE3 instruction set not enabled"
 ^
1 error generated.
Similarly -march=westmere will not work. However using -march=core2 or
-march=corei7 will enable SSSE3. This is not just SSSE3 specific though;
-march=westmere should allow use of SSE 4.1/4.2 and AES, and all are rejected.
SSE 4.1 should also be allowed using -march=nehalem, but it is not.
I'd imagine there are other cases along these lines, these are just the ones
I've noticed that directly affected software I was trying to build.
-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
    
    
More information about the llvm-bugs
mailing list