SIMD intrinsic function "_mm_store_si128" illegal in GCC?
Brian Budge
brian.budge@gmail.com
Thu Aug 20 19:06:00 GMT 2009
Hi LC -
Do you have the correct header files included? You need the
*mmintrin.h family of headers for these functions to work.
Brian
On Thu, Aug 20, 2009 at 9:09 AM, Lingchuan (LC)
Meng<lingchuanmeng@gmail.com> wrote:
> Hi all,
>
> When vectorizing some of my integer code, I had this "Illegal
> instruction" problem with SIMD intrinsics in GCC. I believe the error
> is triggered by the instruction:
>
> _mm_store_si128((__m128i *)c, v2);
>
> where C and v2 are defined as:
>
> int c[4] __attribute__((aligned(16))) = {0, 0, 0, 0};
> __m128i v2;
>
> And the CFLAGS is
>
> -I/usr/local/papi-3.6.1/include -L/usr/local/papi-3.6.1/lib/ -lpapi
> -lm -O2 -msse4.1 -fno-inline-small-functions
>
> I searched around when starting with SIMD intrinsics, and didn't find
> a complete instruction set for GCC. So I end up using something
> similar from MSDN.
>
> What's the legal intrinsic function in GCC to store a __m128i vector
> back to an integer array?
>
> Thanks,
>
> LC
>
More information about the Gcc-help
mailing list