Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tests fail to build because no-SSE options are used #358

Open
yurivict opened this issue Oct 7, 2023 · 1 comment
Open

Tests fail to build because no-SSE options are used #358

yurivict opened this issue Oct 7, 2023 · 1 comment

Comments

@yurivict
Copy link

yurivict commented Oct 7, 2023

===>  Testing for vc-1.4.4
-- Detected Compiler: Clang 16.0.6
-- Detected CPU: generic
-- Configuring done (0.1s)
-- Generating done (0.0s)
-- Build files have been written to: /usr/ports/devel/vc/work/.build
[  1% 7/72] /usr/local/libexec/ccache/c++ -DCOMPILE_FOR_UNIT_TESTS -DHAVE_CXX_ABI_H -DTESTDATA_DIR=\"/usr/ports/devel/vc/work/Vc-1.4.4/tests/testdata/\" -I/usr/ports/devel/vc/work/Vc-1.4.4 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -std=c++14 -ftemplate-depth=128 -Wno-tautological-constant-out-of-range-compare -Wno-tautological-compare -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -Wno-local-type-template-args -Wno-unnamed-type-template-args -ffp-contract=fast -mno-sse2 -mno-sse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -mno-sse4a -mno-avx -mno-fma -mno-bmi2 -mno-avx2 -mno-xop -mno-fma4 -mno-avx512f -mno-avx512vl -mno-avx512pf -mno-avx512er -mno-avx512cd -mno-avx512dq -mno-avx512bw -mno-avx512ifma -mno-avx512vbmi -mfpmath=sse -DVc_IMPL=Scalar -MD -MT tests/CMakeFiles/implicit_type_conversion_scalar.dir/implicit_type_conversion.cpp.o -MF tests/CMakeFiles/implicit_type_conversion_scalar.dir/implicit_type_conversion.cpp.o.d -o tests/CMakeFiles/implicit_type_conversion_scalar.dir/implicit_type_conversion.cpp.o -c /usr/ports/devel/vc/work/Vc-1.4.4/tests/implicit_type_conversion.cpp
[  2% 8/72] : && /usr/local/libexec/ccache/c++ -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -std=c++14 -ftemplate-depth=128 -Wno-tautological-constant-out-of-range-compare -Wno-tautological-compare -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -fstack-protector-strong tests/CMakeFiles/implicit_type_conversion_scalar.dir/implicit_type_conversion.cpp.o -o tests/implicit_type_conversion_scalar  libVc.a && :
[  4% 9/72] /usr/local/libexec/ccache/c++ -DCOMPILE_FOR_UNIT_TESTS -DHAVE_CXX_ABI_H -DTESTDATA_DIR=\"/usr/ports/devel/vc/work/Vc-1.4.4/tests/testdata/\" -I/usr/ports/devel/vc/work/Vc-1.4.4 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -std=c++14 -ftemplate-depth=128 -Wno-tautological-constant-out-of-range-compare -Wno-tautological-compare -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -Wno-local-type-template-args -Wno-unnamed-type-template-args -ffp-contract=fast -mno-sse2 -mno-sse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -mno-sse4a -mno-avx -mno-fma -mno-bmi2 -mno-avx2 -mno-xop -mno-fma4 -mno-avx512f -mno-avx512vl -mno-avx512pf -mno-avx512er -mno-avx512cd -mno-avx512dq -mno-avx512bw -mno-avx512ifma -mno-avx512vbmi -mfpmath=sse -DVc_IMPL=Scalar -MD -MT tests/CMakeFiles/simdize_scalar.dir/simdize.cpp.o -MF tests/CMakeFiles/simdize_scalar.dir/simdize.cpp.o.d -o tests/CMakeFiles/simdize_scalar.dir/simdize.cpp.o -c /usr/ports/devel/vc/work/Vc-1.4.4/tests/simdize.cpp
FAILED: tests/CMakeFiles/simdize_scalar.dir/simdize.cpp.o 
/usr/local/libexec/ccache/c++ -DCOMPILE_FOR_UNIT_TESTS -DHAVE_CXX_ABI_H -DTESTDATA_DIR=\"/usr/ports/devel/vc/work/Vc-1.4.4/tests/testdata/\" -I/usr/ports/devel/vc/work/Vc-1.4.4 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -std=c++14 -ftemplate-depth=128 -Wno-tautological-constant-out-of-range-compare -Wno-tautological-compare -O2 -pipe -fstack-protector-strong -fno-strict-aliasing   -DNDEBUG -Wno-local-type-template-args -Wno-unnamed-type-template-args -ffp-contract=fast -mno-sse2 -mno-sse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -mno-sse4a -mno-avx -mno-fma -mno-bmi2 -mno-avx2 -mno-xop -mno-fma4 -mno-avx512f -mno-avx512vl -mno-avx512pf -mno-avx512er -mno-avx512cd -mno-avx512dq -mno-avx512bw -mno-avx512ifma -mno-avx512vbmi -mfpmath=sse -DVc_IMPL=Scalar -MD -MT tests/CMakeFiles/simdize_scalar.dir/simdize.cpp.o -MF tests/CMakeFiles/simdize_scalar.dir/simdize.cpp.o.d -o tests/CMakeFiles/simdize_scalar.dir/simdize.cpp.o -c /usr/ports/devel/vc/work/Vc-1.4.4/tests/simdize.cpp
/usr/ports/devel/vc/work/Vc-1.4.4/tests/simdize.cpp:627:1: error: SSE2 register return with SSE2 disabled
TEST(copy_simdized_objects)
^
/usr/ports/devel/vc/work/Vc-1.4.4/tests/virtest/vir/test.h:1329:21: note: expanded from macro 'TEST'
#define TEST(name_) REAL_TEST(name_)
                    ^
/usr/ports/devel/vc/work/Vc-1.4.4/tests/virtest/vir/test.h:1302:25: note: expanded from macro 'REAL_TEST'
  void Tests::name_##_::run()
                        ^
/usr/ports/devel/vc/work/Vc-1.4.4/tests/simdize.cpp:627:1: error: SSE2 register return with SSE2 disabled
/usr/ports/devel/vc/work/Vc-1.4.4/tests/virtest/vir/test.h:1329:21: note: expanded from macro 'TEST'
#define TEST(name_) REAL_TEST(name_)
                    ^
/usr/ports/devel/vc/work/Vc-1.4.4/tests/virtest/vir/test.h:1302:25: note: expanded from macro 'REAL_TEST'
  void Tests::name_##_::run()
                        ^
/usr/ports/devel/vc/work/Vc-1.4.4/tests/simdize.cpp:627:1: error: SSE2 register return with SSE2 disabled
/usr/ports/devel/vc/work/Vc-1.4.4/tests/virtest/vir/test.h:1329:21: note: expanded from macro 'TEST'
#define TEST(name_) REAL_TEST(name_)
                    ^
/usr/ports/devel/vc/work/Vc-1.4.4/tests/virtest/vir/test.h:1302:25: note: expanded from macro 'REAL_TEST'
  void Tests::name_##_::run()
                        ^
/usr/ports/devel/vc/work/Vc-1.4.4/tests/simdize.cpp:650:37: error: SSE2 register return with SSE2 disabled
template <> std::tuple<double, int> create<std::tuple<double, int>>(int x)
                                    ^
In file included from /usr/ports/devel/vc/work/Vc-1.4.4/tests/simdize.cpp:29:
/usr/ports/devel/vc/work/Vc-1.4.4/tests/unittest.h:131:31: error: SSE2 register return with SSE2 disabled
    static inline common_type ulp_distance_signed(const common_type &a,
                              ^

Version: 1.4.4
FreeBSD 13.2

@Axel-Naumann
Copy link
Member

Does this mean it's a compiler bug or that compilers don't survive without SSE2 anymore? Can you reproduce this outside of VC, with a function returning a struct?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants