IBM VSX checks fail with gcc-10 - Redmine #3380
This is part of https://bugzilla.redhat.com/show\_bug.cgi?id=1799473 -- Flag was accepted, but it did not build test source (this could be due to either the compiler or binutils) -- Performing Test CXX_maltivec_mabi_altivec_FLAG_ACCEPTED -- Performing Test CXX_maltivec_mabi_altivec_FLAG_ACCEPTED - Success -- Performing Test CXX_maltivec_mabi_altivec_COMPILE_WORKS -- Performing Test CXX_maltivec_mabi_altivec_COMPILE_WORKS - Failed -- Flag was accepted, but it did not build test source (this could be due to either the compiler or binutils) -- Performing Test CXX_qarch_auto_qaltivec_FLAG_ACCEPTED -- Performing Test CXX_qarch_auto_qaltivec_FLAG_ACCEPTED - Failed -- Performing Test CXX_COMPILE_WORKS_WITHOUT_SPECIAL_FLAGS -- Performing Test CXX_COMPILE_WORKS_WITHOUT_SPECIAL_FLAGS - Failed -- Could not find any flag to build test source (this could be due to either the compiler or binutils) CMake Error at cmake/gmxManageSimd.cmake:51 (message): Cannot find IBM VSX compiler flag. Use a newer compiler, or disable SIMD support (slower). Call Stack (most recent call first): cmake/gmxManageSimd.cmake:265 (gmx_give_fatal_error_when_simd_support_not_found) CMakeLists.txt:719 (gmx_manage_simd) -- Configuring incomplete, errors occurred! looking at CMakeOutput.log (attached): Run Build Command(s):/usr/bin/gmake cmTC_90725/fast && /usr/bin/gmake -f CMakeFiles/cmTC_90725.dir/build.make CMakeFiles/cmTC_90725.dir/build gmake[1]: Entering directory '/builddir/build/BUILD/gromacs-2019.5/serial/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_90725.dir/src.cxx.o /usr/bin/c++ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -std=c++11 -DCXX_qarch_auto_qaltivec_FLAG_ACCEPTED -mcpu=power8 -mpower8-vector -qarch=auto -qaltivec -o CMakeFiles/cmTC_90725.dir/src.cxx.o -c /builddir/build/BUILD/gromacs-2019.5/serial/CMakeFiles/CMakeTmp/src.cxx c++: error: unrecognized command-line option '-qarch=auto' c++: error: unrecognized command-line option '-qaltivec'; did you mean '-maltivec'? gmake[1]: *** [CMakeFiles/cmTC_90725.dir/build.make:66: CMakeFiles/cmTC_90725.dir/src.cxx.o] Error 1 gmake[1]: Leaving directory '/builddir/build/BUILD/gromacs-2019.5/serial/CMakeFiles/CMakeTmp' gmake: *** [Makefile:121: cmTC_90725/fast] Error 2 Source file was: int main() { return 0;} Performing C++ SOURCE FILE Test CXX_COMPILE_WORKS_WITHOUT_SPECIAL_FLAGS failed with the following output: Change Dir: /builddir/build/BUILD/gromacs-2019.5/serial/CMakeFiles/CMakeTmp Run Build Command(s):/usr/bin/gmake cmTC_5ed9c/fast && /usr/bin/gmake -f CMakeFiles/cmTC_5ed9c.dir/build.make CMakeFiles/cmTC_5ed9c.dir/build gmake[1]: Entering directory '/builddir/build/BUILD/gromacs-2019.5/serial/CMakeFiles/CMakeTmp' Building CXX object CMakeFiles/cmTC_5ed9c.dir/src.cxx.o /usr/bin/c++ -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -std=c++11 -DCXX_COMPILE_WORKS_WITHOUT_SPECIAL_FLAGS -mcpu=power8 -mpower8-vector -o CMakeFiles/cmTC_5ed9c.dir/src.cxx.o -c /builddir/build/BUILD/gromacs-2019.5/serial/CMakeFiles/CMakeTmp/src.cxx /builddir/build/BUILD/gromacs-2019.5/serial/CMakeFiles/CMakeTmp/src.cxx: In function 'int main()': /builddir/build/BUILD/gromacs-2019.5/serial/CMakeFiles/CMakeTmp/src.cxx:2:21: error: 'vector' was not declared in this scope; did you mean 'vec_or'? 2 | int main(){vector double x,y=vec_splats(1.0);x=vec_madd(y,y,y);return vec_all_ge(y,x);} | ^~~~~~ | vec_or /builddir/build/BUILD/gromacs-2019.5/serial/CMakeFiles/CMakeTmp/src.cxx:2:55: error: 'x' was not declared in this scope 2 | int main(){vector double x,y=vec_splats(1.0);x=vec_madd(y,y,y);return vec_all_ge(y,x);} | ^ /builddir/build/BUILD/gromacs-2019.5/serial/CMakeFiles/CMakeTmp/src.cxx:2:66: error: 'y' was not declared in this scope 2 | int main(){vector double x,y=vec_splats(1.0);x=vec_madd(y,y,y);return vec_all_ge(y,x);} | ^ In file included from /builddir/build/BUILD/gromacs-2019.5/serial/CMakeFiles/CMakeTmp/src.cxx:1: /builddir/build/BUILD/gromacs-2019.5/serial/CMakeFiles/CMakeTmp/src.cxx:2:80: error: invalid parameter combination for AltiVec intrinsic '__builtin_vec_vcmpge_p' 2 | int main(){vector double x,y=vec_splats(1.0);x=vec_madd(y,y,y);return vec_all_ge(y,x);} | ^~~~~~~~~~ gmake[1]: *** [CMakeFiles/cmTC_5ed9c.dir/build.make:66: CMakeFiles/cmTC_5ed9c.dir/src.cxx.o] Error 1 gmake[1]: Leaving directory '/builddir/build/BUILD/gromacs-2019.5/serial/CMakeFiles/CMakeTmp' gmake: *** [Makefile:121: cmTC_5ed9c/fast] Error 2 Source file was: #include<altivec.h> int main(){vector double x,y=vec_splats(1.0);x=vec_madd(y,y,y);return vec_all_ge(y,x);} WIth gcc-9 this check still works. *(from redmine: issue id 3380, created on 2020-02-14 by junghans)* * Uploads: * [CMakeError.log](/uploads/df87e25a5f5458dc9eb0242f3c7185ea/CMakeError.log) * [build_ppc64le.log.txt](/uploads/f1ca9f6a44743e505222c9f1d8a5c90b/build_ppc64le.log.txt)
issue