Intel® Distribution of OpenVINO™ Toolkit
Community assistance about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all aspects of computer vision-related on Intel® platforms.

Question on emmintrin.h header file

Joel_E_
Beginner
1,723 Views

Hi,

I had some errors during compilation of OpenVino samples on my older i7 CPU (i7 870 to be exact).

The compilation error was related to _mm_blendv_ps which was introduced on SSE4.1 technology according to this documentation.

This was solved by changing "defs.h" include file from emmintrin.h (SSE2) to either smmintrin.h (SSE4.1) or nmmintrin.h (SSE4.2).

Obviously _mm_blendv_ps was introduced from SSE4.1 so I was wondering why emmintrin.h was used? Is this a bug?

Any instructions/advice instead if the current solution is not advisable.

Thanks in advance.

Regards,

Joel

0 Kudos
2 Replies
berupon
Beginner
1,723 Views

Hi, Joel E. Thanks a lot for the medium post. It helped me to solve the problem with VS2017.

Regarding the header file to include,
  MSVC : <intrin.h>
  gcc/clang : <x86intrin.h>
might be preferrable. It seems like x64 gcc/clang also has <intrin.h> but x86 gcc/clang lack it.
Anyways, <intrin.h> file contains include statements for non-x86 processors such as <arm_neon.h>, which can be a taboo for the bunnysuits.

 

0 Kudos
Joel_E_
Beginner
1,723 Views

Hi berupon,

Thanks for your reply! It's good to know about the other header files related to MSVC and gcc.

Hope others will also find this useful.

Regards,
Joel

0 Kudos
Reply