http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60985
Bug ID: 60985 Summary: _mm_blendv_pd requires the '-msse4.1' option to compile Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: jean-charles.pa...@ens-cachan.fr GCC (4.9.0) fails to compile a call to '_mm_blendv_pd' intrinsic unless we add the '-msse4.1' gcc option. End code --------------------- [test_blendv_pd.c] #include "smmintrin.h" #include "emmintrin.h" int main(int argc, const char *argv[]) { __m128d a = _mm_setzero_pd (), b = _mm_setzero_pd (), mask = _mm_setzero_pd (); __m128d r = _mm_blendv_pd (a, b, mask); return 0; } End code --------------------- [test_blendv_pd.c] Command line: gcc test_blendv_pd.c GCC output: In file included from test_blendv_pd.c:2:0: test_blendv_pd.c: In function 'main': /opt/gcc-4.9.0/lib/gcc/x86_64-unknown-linux-gnu/4.9.0/include/smmintrin.h:229:1: error: inlining failed in call to always_inline '_mm_blendv_pd': target specific option mismatch _mm_blendv_pd (__m128d __X, __m128d __Y, __m128d __M) ^ test_blendv_pd.c:12:10: error: called from here __m128d r = _mm_blendv_pd (a, b, mask); In case of the '_mm_blend_pd (__m128d, __m128d, int)' function, gcc produces the following error message: error: '__builtin_ia32_blendpd' needs isa option -m32 -msse4.1 It would be great to have the same error message for '_mm_blendv'.