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'.