Intel® ISA Extensions
Use hardware-based isolation and memory encryption to provide more code protection in your solutions.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
1135 Discussions

Where is _mm512_i32extgather_epi32 defined?

Henk-Jan_L_
Beginner
1,075 Views

I like to use _mm512_i32extgather_epi32.

The Intrinsics Guide states that I need to include "immintrin.h", but it is not in this file. It could have been a typo, thus I searched in other header files with intrinsics, but none came up.

This page (https://software.intel.com/en-us/node/523513) states that "his intrinsic only applies to Intel® Many Integrated Core Architecture (Intel® MIC Architecture)." However, the Intrinsics Guide states that it is AVX512F. I need this specific one because I need to: _MM_UPCONV_EPI32_UINT8

Question: where i can find this intrinsic?

Regards Henk.

0 Kudos
2 Replies
MGRAV
New Contributor I
1,075 Views

I am not sure if I answer your question.

However, "immintrin.h" normally include "zmmintrin.h" that contain the definition of _mm512_i32extgather_epi32.

0 Kudos
Henk-Jan_L_
Beginner
1,075 Views

Thank you for pointing that out.

Somehow, when you change from Visual C++ compiler to Intel C++ compiler, the default include paths for these definition files is not updated.

The zmmintrin.h that ships with Visual Studio (C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\include\zmmintrin.h) does not define the intrinsic (and defines several that are not mentioned in the Intrinsics Guide) I guess there are valid reasons the intrinsic is not included.

The zmmintrin.h that ships with ICC (C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2018.0.124\windows\compiler\include\icc\zmmintrin.h) does indeed define the intrinsic.

0 Kudos
Reply