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: