linbox-team/fflas-ffpack

Simd512 cannot be compiled with gcc 4.9

Closed this issue · 1 comments

With gcc 4.9, if fflas-ffpack is compiled with AVX512L, some functions used in fflas-ffpack/fflas/fflas_simd/simd512_float.inl are undefined. This problem does not occurs with gcc 5+. This problem can be observed on the Travis job with GCC_VERSION=4.9.

If we look more closely as the first undefined function (_mm512_castps512_ps256), one can see in the Intel Intrinsics documentation (https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm512_castps512_ps256&expand=625) that it requires AVX512L and the include of "immintrin.h", as done in fflas-ffpack. So according to the doc, it should work. But if one looks in the include files of gcc, one can see that with gcc 4.9, the function is never defined while in more recent gcc, it is defined in the header avx512fintrin.h.

note: this was also discussed in #322 where I suggested to drop support for g++<5. @cyrilbouvier : can you update the configure scripts accordingly?