[Bug target/85236] missing _mm256_atan2_ps
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85236 --- Comment #7 from Andrew Pinski --- clang does not implement this intrinsics either and there is no issue filed there about it either (I am kinda of shocked). Note ICX (which is the new ICC but with using clang/LLVM) does and it calls __svml_atan2f8_e9 directly. Looks like SIMD-everywhere has implement it though, see https://github.com/simd-everywhere/simde/issues/40 and https://github.com/simd-everywhere/simde/commit/5b28b3d4672a9cc0616d5d6813b8e31e9bde8148
[Bug target/85236] missing _mm256_atan2_ps
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85236 --- Comment #6 from Andrew Pinski --- https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#!=undefined=SVML=_mm256_atan2_ps_expand=393
[Bug target/85236] missing _mm256_atan2_ps
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85236 --- Comment #5 from Marc Glisse --- (In reply to bking from comment #4) > I understand that is a part of SVML, but doesn't that mean using the Intel > Compiler? Which means not using GCC. Is there not a plan to add it? Or is > that the intent of glibc? As Richard said, yes, the current situation is that this would fit much better in glibc's libmvec. It already provides vector versions of sin, cos, exp, log, pow and sincos (under different names than SVML), it should be extended to more functions. Another possibility would be to link to Intel's SVML when it is present. Although gcc already has a way to use SVML for autovectorization, it isn't clear in this particular case whether it is something the compiler should provide, the library vendor (Intel), or the user.
[Bug target/85236] missing _mm256_atan2_ps
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85236 --- Comment #4 from bking at rtlogic dot com --- I understand that is a part of SVML, but doesn't that mean using the Intel Compiler? Which means not using GCC. Is there not a plan to add it? Or is that the intent of glibc?
[Bug target/85236] missing _mm256_atan2_ps
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85236 Richard Biener changed: What|Removed |Added Target||x86_64-*-*, i?86-*-* Component|c++ |target --- Comment #3 from Richard Biener --- You might want to file this against glibc in case they want to provide intrinsic headers for libmvec supported functions. Hopefully _mm256_atan2_ps isn't in a header provided by GCC ... hmm, ICC seems to have it in immintrin.h: /suse/matz/bin/2018.1/include/icc/immintrin.h:extern __m256 __ICL_INTRINCC _mm256_atan2_ps(__m256, __m256); and also: /suse/matz/bin/2018.1/include/dvec.h:friend F32vec8 atan2(const F32vec8 , const F32vec8 ) { return _mm256_atan2_ps(a, b); } not sure if we have a way to provide the intrinsic in a reasonable way from GCC, doing auto-dispatch to libmvec or alternatively open-coding elementwise?