- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am developing where i need to use the intrinsic function _mm256_storeu2_m128i. although i have included necessary header file and compilation flag gcc is not able to find the function. what might be the reason?
Thanks in advance
- Tags:
- Intel® Advanced Vector Extensions (Intel® AVX)
- Intel® Streaming SIMD Extensions
- Parallel Computing
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It's a macro provided in the Intel intrinsic headers;
#define _mm256_storeu2_m128(/* float* */ hiaddr, /* float* */ loaddr, \ /* __m256 */ a) \ do { \ __m256 _a = (a); /* reference a only once in macro body */ \ _mm_storeu_ps((loaddr), _mm256_castps256_ps128(_a)); \ _mm_storeu_ps((hiaddr), _mm256_extractf128_ps(_a, 0x1)); \ } while (0)
You probably need Intel Compiler to get the header with these in, though I think Clang also has them, but not gcc for some reason.
The clue is the fact there is no throughput or latency listed for it in the Intel Iintrinsics Guide;
https://software.intel.com/sites/landingpage/IntrinsicsGuide/#techs=AVX&expand=5237,5239

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page