Can't use SSE4.2 instructions


I’m trying to use the SSE4.2’s instruction _mm_crc32_u64 and also added -msse4.2 flag in the makefile, but yet I get this error when I try to compile my code with clang/llvm.

LLVM ERROR: Cannot select: intrinsic %llvm.x86.sse42.crc32.64.64

I also tried to pass -march=native, but still no luck.



"You may be passing operands of the wrong type to the intrinsic" -> Well
I don't do anything to the LLVM bit code, I just try to compile my C code,
all code being generated by clang.

Sorry for misunderstanding...

I have a simple test here that generates @llvm.x86.sse42.crc32.64.64(i64
%28, i64 %29). It appears to work as expected using Clang from trunk. You
should probably file a Bug with your specific test case and environment

If you're feeling ambitious ;), you could try -emit-llvm and see what's
coming across the interface.