https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116157
Bug ID: 116157 Summary: AVX2 _mm256_exp_ps function is missing in the compiler Product: gcc Version: 13.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: binklings at 163 dot com Target Milestone: --- Hello, Issue: In both gcc and g++, the _mm256_exp_ps function in Intel AVX2 intrinsics is missing gcc/g++ version: x86_64-posix-seh-rev1 13.2.0 Code: #include <immintrin.h> int main(){ float a[4] = {0.1, 0.2, 0.3, 0.4}; __m256 vec = _mm256_loadu_ps(a); vec = _mm256_exp_ps(vec); _mm256_storeu_ps(a, vec); } Compiler Command: g++ -mavx2 -o test test.cpp (or gcc) both output: test.cpp: In function 'int main()': test.cpp:6:11: error: '_mm256_exp_ps' was not declared in this scope; did you mean '_mm256_rcp_ps'? 6 | vec = _mm256_exp_ps(vec); | ^~~~~~~~~~~~~ | _mm256_rcp_ps The _mm256_exp_ps function: https://www.intel.com/content/www/us/en/docs/cpp-compiler/developer-guide-reference/2021-10/mm-exp-ps-mm256-exp-ps.html It seems that this SVML function can only be used in Intel compiler or MSVC. Will it be supported in gcc/g++? Is there a way to use this function? Thanks