Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clang and "error: SSSE3 instruction set not enabled" #245

Closed
noloader opened this issue Aug 22, 2016 · 1 comment
Closed

Clang and "error: SSSE3 instruction set not enabled" #245

noloader opened this issue Aug 22, 2016 · 1 comment
Labels
clang-3.4 Clang compiler version 3.4

Comments

@noloader
Copy link
Collaborator

noloader commented Aug 22, 2016

cryptest.sh is revealing the following failure under Ubuntu 15. The main portion of the testing occurs using GCC. If Clang is available, then a quick testing pass is made with Clang. (The converse also holds. If Clang is the primary compiler for testing, then a quick pass is made with GCC).

The interesting thing below is the machine is a 5th generation Core i7, so -march=native should include a cornucopia CPU features, including AVX and BMI. Another unusual thing is the CXXFLAGS used. -maes -mrdrnd -mrdseed -mpclmul looks like artifacts from the "AES, RDRAND and RDSEED" test.

************************************
Testing: Clang compiler
/usr/bin/clang++ -DNDEBUG -g2 -O2 -march=native -maes -mrdrnd -mrdseed -mpclmul -fPIC -march=native -pipe -c cryptlib.cpp
/usr/bin/clang++ -DNDEBUG -g2 -O2 -march=native -maes -mrdrnd -mrdseed -mpclmul -fPIC -march=native -pipe -c cpu.cpp
/usr/bin/clang++ -DNDEBUG -g2 -O2 -march=native -maes -mrdrnd -mrdseed -mpclmul -fPIC -march=native -pipe -c 3way.cpp
/usr/bin/clang++ -DNDEBUG -g2 -O2 -march=native -maes -mrdrnd -mrdseed -mpclmul -fPIC -march=native -pipe -c adler32.cpp
In file included from cpu.cpp:12:
In file included from ./cpu.h:78:
/usr/bin/../lib/clang/3.4/include/tmmintrin.h:28:2: error: "SSSE3 instruction set not enabled"
#error "SSSE3 instruction set not enabled"
 ^
In file included from cpu.cpp:12:
In file included from ./cpu.h:92:
/usr/bin/../lib/clang/3.4/include/smmintrin.h:28:2: error: "SSE4.1 instruction set not enabled"
#error "SSE4.1 instruction set not enabled"
 ^
2 errors generated.
make: *** [cpu.o] Error 1
make: *** Waiting for unfinished jobs....
ERROR: failed to make cryptest.exe

And:

$ clang --version
Ubuntu clang version 3.4-1ubuntu3 (tags/RELEASE_34/final) (based on LLVM 3.4)
Target: x86_64-pc-linux-gnu
Thread model: posix
@noloader noloader added the clang-3.4 Clang compiler version 3.4 label Aug 22, 2016
@noloader
Copy link
Collaborator Author

Fixed at Commit 7c3967ad8f6a61f2.

noloader referenced this issue Aug 24, 2016
…SUNCC_CXXFLAGS flags. Fix "Quick Tests" undr Clang (Issues 245 and 246)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clang-3.4 Clang compiler version 3.4
Projects
None yet
Development

No branches or pull requests

1 participant