With clang-3.5.0 (but not gcc-4.9.2, nor the intel compiler) I get the message:
use of undeclared identifier '_mm_cvtsi64x_si128'; did you mean '_mm_cvtsi64_si128'
This is an intrinsic that I find documented in the intel intrisics guide, and the code in question does have the include that's documented as required in the intinsics guide:
#include "emmintrin.h"
I was wondering if this error was a result of not passing the right -mcpu= flags, but I tried -mcpu=nahelem, which should be sufficient for this sse2 instruction. Any idea if this intrinsic is supported in clang, and if it is, what compilation flags are required to allow it's use?
It looks like there are a couple of alternate intrinsic names in intel's emmintrin.h:
#define _mm_load_pd1 _mm_load1_pd
#define _mm_set_pd1 _mm_set1_pd
#define _mm_store_pd1 _mm_store1_pd
#define _mm_cvtsi64x_si128 _mm_cvtsi64_si128
#define _mm_cvtsi128_si64x _mm_cvtsi128_si64
Looks like clang's emmintrin.h doesn't have any of these alternate names, but that I can just adjust our code to use the non-alternates (our code is using both of the last two alternate names above).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With