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

Support for c++17 and/or c++20 #700

Closed
emmenlau opened this issue Apr 7, 2022 · 5 comments
Closed

Support for c++17 and/or c++20 #700

emmenlau opened this issue Apr 7, 2022 · 5 comments

Comments

@emmenlau
Copy link
Contributor

emmenlau commented Apr 7, 2022

It would be great if the xtensor-stack could support c++17 and/or c++20. Currently I fail to build with Clang when c++17 or c++20 is enabled. Here is one of the errors I get the xsimd:

[3/55   1% :: 31.529] /data/user/bda/usr-dst-U2004Sk64c1301/Tools/lib/ccache/clang++ -DDEBUG -DXSIMD_ENABLE_XTL_COMPLEX=1 -DXTENSOR_ENABLE_ASSERT -DXTENSOR_USE_XSIMD -D_DEBUG -D_DEBUG_ -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200809L -D_USE_MATH_DEFINES -I/data/user/bda/usr-tmp-U2004Sk64c1301/Debug/Project -I/home/user/Src/Project/include -I/home/user/Src/Project/src -I/data/user/bda/usr-dst-U2004Sk64c1301/Extras/mkl/include -isystem /data/user/bda/usr-dst-U2004Sk64c1301/Debug/include -isystem /data/user/bda/usr-dst-U2004Sk64c1301/Extras/include -isystem /data/user/bda/usr-dst-U2004Sk64c1301/Extras/ipp/include -isystem /data/user/bda/usr-dst-U2004Sk64c1301/Extras/daal/include -isystem /data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/QtGui -isystem /data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/QtCore -isystem /data/user/bda/usr-dst-U2004Sk64c1301/Debug/mkspecs/linux-clang -isystem /data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/eigen3 -isystem /data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/ITK-5.2 -isystem /data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/server -DDEBUG  -Wall -pedantic -Wextra -Werror=return-type -Werror=uninitialized -Werror=unknown-pragmas -Werror=shadow -Werror=undef -Werror=pointer-arith -DQT_DISABLE_DEPRECATED_BEFORE=0x050F00 -Werror=shift-count-overflow -Werror=string-plus-int -Werror=nonportable-include-path -Werror=inconsistent-missing-override -Werror=self-assign -Werror=self-assign-field -Werror=self-move -Werror=braced-scalar-init -Werror=many-braces-around-scalar-init -Werror=deprecated-enum-enum-conversion  -Werror=return-stack-address -Werror=delete-non-abstract-non-virtual-dtor  -std=c++20 -glldb     -fno-omit-frame-pointer -O0     -march=skylake  -Werror=pessimizing-move -Werror=redundant-move  -Werror=range-loop-construct -g -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -ftime-trace -save-temps=obj -pthread -fPIC -std=c++20 -MD -MT CMakeFiles/Project.dir/src/BDAProcessingAction.cc.o -MF CMakeFiles/Project.dir/src/BDAProcessingAction.cc.o.d -o CMakeFiles/Project.dir/src/BDAProcessingAction.cc.o -c /home/user/Src/Project/src/BDAProcessingAction.cc
FAILED: CMakeFiles/Project.dir/src/BDAProcessingAction.cc.o 
/data/user/bda/usr-dst-U2004Sk64c1301/Tools/lib/ccache/clang++ -DDEBUG -DXSIMD_ENABLE_XTL_COMPLEX=1 -DXTENSOR_ENABLE_ASSERT -DXTENSOR_USE_XSIMD -D_DEBUG -D_DEBUG_ -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200809L -D_USE_MATH_DEFINES -I/data/user/bda/usr-tmp-U2004Sk64c1301/Debug/Project -I/home/user/Src/Project/include -I/home/user/Src/Project/src -I/data/user/bda/usr-dst-U2004Sk64c1301/Extras/mkl/include -isystem /data/user/bda/usr-dst-U2004Sk64c1301/Debug/include -isystem /data/user/bda/usr-dst-U2004Sk64c1301/Extras/include -isystem /data/user/bda/usr-dst-U2004Sk64c1301/Extras/ipp/include -isystem /data/user/bda/usr-dst-U2004Sk64c1301/Extras/daal/include -isystem /data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/QtGui -isystem /data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/QtCore -isystem /data/user/bda/usr-dst-U2004Sk64c1301/Debug/mkspecs/linux-clang -isystem /data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/eigen3 -isystem /data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/ITK-5.2 -isystem /data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/server -DDEBUG  -Wall -pedantic -Wextra -Werror=return-type -Werror=uninitialized -Werror=unknown-pragmas -Werror=shadow -Werror=undef -Werror=pointer-arith -DQT_DISABLE_DEPRECATED_BEFORE=0x050F00 -Werror=shift-count-overflow -Werror=string-plus-int -Werror=nonportable-include-path -Werror=inconsistent-missing-override -Werror=self-assign -Werror=self-assign-field -Werror=self-move -Werror=braced-scalar-init -Werror=many-braces-around-scalar-init -Werror=deprecated-enum-enum-conversion  -Werror=return-stack-address -Werror=delete-non-abstract-non-virtual-dtor  -std=c++20 -glldb     -fno-omit-frame-pointer -O0     -march=skylake  -Werror=pessimizing-move -Werror=redundant-move  -Werror=range-loop-construct -g -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -ftime-trace -save-temps=obj -pthread -fPIC -std=c++20 -MD -MT CMakeFiles/Project.dir/src/BDAProcessingAction.cc.o -MF CMakeFiles/Project.dir/src/BDAProcessingAction.cc.o.d -o CMakeFiles/Project.dir/src/BDAProcessingAction.cc.o -c /home/user/Src/Project/src/BDAProcessingAction.cc
In file included from /home/user/Src/Project/src/BDAProcessingAction.cc:20:
In file included from /home/user/Src/Project/include/bda/AccumulatorSet.hh:28:
In file included from /data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/bda/VariadicTable.hh:25:
In file included from /data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/bda/BaseMath.hh:24:
In file included from /data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/bda/xtensor-ext.hh:24:
In file included from /data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/xtensor/xadapt.hpp:20:
In file included from /data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/xtensor/xarray.hpp:20:
In file included from /data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/xtensor/xcontainer.hpp:23:
In file included from /data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/xtensor/xiterable.hpp:13:
/data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/xtensor/xiterator.hpp:560:28: error: no matching member function for call to 'load_unaligned'
                return reg.load_unaligned(&(*it));
                       ~~~~^~~~~~~~~~~~~~
/data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/xtensor/xiterator.hpp:581:79: note: in instantiation of function template specialization 'xt::detail::step_simd_invoker<const std::complex<float> *>::apply<xsimd::batch<std::complex<double>>>' requested here
        simd_type reg = detail::step_simd_invoker<subiterator_type>::template apply<simd_type>(m_it);
                                                                              ^
/data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/xtensor/xfunction.hpp:1045:66: note: in instantiation of function template specialization 'xt::xstepper<const xt::xtensor_container<xt::uvector<std::complex<float>, xsimd::aligned_allocator<std::complex<float>, 32>>, 2, xt::layout_type::row_major>>::step_simd<std::complex<double>>' requested here
        return (p_f->m_f.simd_apply)(std::get<I>(m_st). template step_simd<T>()...);
                                                                 ^
/data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/xtensor/xfunction.hpp:1052:16: note: in instantiation of function template specialization 'xt::xfunction_stepper<xt::detail::multiplies, const xt::xtensor_container<xt::uvector<std::complex<double>, xsimd::aligned_allocator<std::complex<double>, 32>>, 2, xt::layout_type::row_major> &, const xt::xtensor_container<xt::uvector<std::complex<float>, xsimd::aligned_allocator<std::complex<float>, 32>>, 2, xt::layout_type::row_major> &>::step_simd_impl<std::complex<double>, 0UL, 1UL>' requested here
        return step_simd_impl<T>(std::make_index_sequence<sizeof...(CT)>());
               ^
/data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/xtensor/xassign.hpp:972:61: note: in instantiation of function template specialization 'xt::xfunction_stepper<xt::detail::multiplies, const xt::xtensor_container<xt::uvector<std::complex<double>, xsimd::aligned_allocator<std::complex<double>, 32>>, 2, xt::layout_type::row_major> &, const xt::xtensor_container<xt::uvector<std::complex<float>, xsimd::aligned_allocator<std::complex<float>, 32>>, 2, xt::layout_type::row_major> &>::step_simd<std::complex<double>>' requested here
                res_stepper.store_simd(fct_stepper.template step_simd<value_type>());
                                                            ^
/data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/xtensor/xassign.hpp:400:57: note: in instantiation of function template specialization 'xt::strided_loop_assigner<true>::run<xt::xtensor_container<xt::uvector<std::complex<double>, xsimd::aligned_allocator<std::complex<double>, 32>>, 2, xt::layout_type::row_major>, xt::xfunction<xt::detail::multiplies, const xt::xtensor_container<xt::uvector<std::complex<double>, xsimd::aligned_allocator<std::complex<double>, 32>>, 2, xt::layout_type::row_major> &, const xt::xtensor_container<xt::uvector<std::complex<float>, xsimd::aligned_allocator<std::complex<float>, 32>>, 2, xt::layout_type::row_major> &>>' requested here
            strided_loop_assigner<simd_strided_assign>::run(de1, de2);
                                                        ^
/data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/xtensor/xassign.hpp:414:20: note: (skipping 5 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
        base_type::assign_data(e1, e2, trivial_broadcast);
                   ^
/home/user/Src/Project/include/bda/FFTCrossCorrelation.hh:87:28: note: in instantiation of function template specialization 'xt::noalias_proxy<xt::xtensor_container<xt::uvector<std::complex<double>, xsimd::aligned_allocator<std::complex<double>, 32>>, 2, xt::layout_type::row_major> &>::operator=<xt::xfunction<xt::detail::multiplies, const xt::xtensor_container<xt::uvector<std::complex<double>, xsimd::aligned_allocator<std::complex<double>, 32>>, 2, xt::layout_type::row_major> &, const xt::xtensor_container<xt::uvector<std::complex<float>, xsimd::aligned_allocator<std::complex<float>, 32>>, 2, xt::layout_type::row_major> &>>' requested here
    xt::noalias(aFFTInput) = aFFTInput * aFFTMask;
                           ^
/home/user/Src/Project/include/bda/FFTCrossCorrelation.hh:112:5: note: in instantiation of function template specialization 'bda::detail::fftConvolutionCrossCorrelationImpl<bda::FFTMKL::FFTWImpl, false, xt::xtensor_container<xt::uvector<double, xsimd::aligned_allocator<double, 32>>, 2, xt::layout_type::row_major>, xt::xtensor_container<xt::uvector<double, xsimd::aligned_allocator<double, 32>>, 2, xt::layout_type::row_major>, xt::xtensor_container<xt::uvector<float, xsimd::aligned_allocator<float, 32>>, 2, xt::layout_type::row_major>>' requested here
    fftConvolutionCrossCorrelationImpl<FFTImpl, IsCorrelation>(aResult,
    ^
/home/user/Src/Project/include/bda/FFTCrossCorrelation.hh:189:13: note: in instantiation of function template specialization 'bda::detail::fftConvolutionCrossCorrelationImpl<bda::FFTMKL::FFTWImpl, false, xt::xtensor_container<xt::uvector<double, xsimd::aligned_allocator<double, 32>>, 2, xt::layout_type::row_major>, xt::xtensor_container<xt::uvector<double, xsimd::aligned_allocator<double, 32>>, 2, xt::layout_type::row_major>, xt::xtensor_container<xt::uvector<float, xsimd::aligned_allocator<float, 32>>, 2, xt::layout_type::row_major>>' requested here
    detail::fftConvolutionCrossCorrelationImpl<FFTImpl, false>(aResult,
            ^
/home/user/Src/Project/include/bda/CrossCorrelation.hh:72:14: note: in instantiation of function template specialization 'bda::fftConvolution<bda::FFTMKL::FFTWImpl, xt::xtensor_container<xt::uvector<double, xsimd::aligned_allocator<double, 32>>, 2, xt::layout_type::row_major>, xt::xtensor_container<xt::uvector<double, xsimd::aligned_allocator<double, 32>>, 2, xt::layout_type::row_major>, xt::xtensor_container<xt::uvector<float, xsimd::aligned_allocator<float, 32>>, 2, xt::layout_type::row_major>>' requested here
        bda::fftConvolution<bda::FFTMKLImpl>(aResult, aInput, aMask, aPaddingType, aValue);
             ^
/home/user/Src/Project/src/BDAProcessingAction.cc:461:18: note: in instantiation of function template specialization 'bda::convolution<xt::xtensor_container<xt::uvector<double, xsimd::aligned_allocator<double, 32>>, 2, xt::layout_type::row_major>, xt::xtensor_container<xt::uvector<double, xsimd::aligned_allocator<double, 32>>, 2, xt::layout_type::row_major>, xt::xtensor_container<xt::uvector<float, xsimd::aligned_allocator<float, 32>>, 2, xt::layout_type::row_major>>' requested here
            bda::convolution(vOutputImage->xt(), aTypedImage1->xt(), aTypedImage2->xt());
                 ^
/data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/xsimd/types/xsimd_batch.hpp:290:58: note: candidate function not viable: no known conversion from 'const std::complex<float> *' to 'const double *' for 1st argument
        static __attribute__((warn_unused_result)) batch load_unaligned(const T* real_src, const T* imag_src = nullptr) noexcept;
                                                         ^
/data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/xsimd/types/xsimd_batch.hpp:295:58: note: candidate function not viable: no known conversion from 'const std::complex<float> *' to 'const xsimd::batch<std::complex<double>>::value_type *' (aka 'const complex<double> *') for 1st argument
        static __attribute__((warn_unused_result)) batch load_unaligned(const value_type* src) noexcept;
                                                         ^
/data/user/bda/usr-dst-U2004Sk64c1301/Debug/include/xsimd/types/xsimd_batch.hpp:323:58: note: candidate template ignored: could not match 'xcomplex' against 'complex'
        static __attribute__((warn_unused_result)) batch load_unaligned(const xtl::xcomplex<T, T, i3ec>* src) noexcept;
                                                         ^
1 error generated.

This is on Ubuntu 20.04 x86_64 with clang 13.0.1 and clang 14.0.1.

@emmenlau
Copy link
Contributor Author

emmenlau commented Apr 7, 2022

Another error is related to swizzle:

[8/11  18% :: 1.509] /data/user/Tools/lib/ccache/clang++ -DGTEST_HAS_DWARF=1 -DGTEST_HAS_UNWIND=1 -DXSIMD_ENABLE_XTL_COMPLEX=1 -I/home/user/xsimd/include -isystem /data/user/Debug/include -DDEBUG  -march=skylake  -glldb -fno-omit-frame-pointer -O0 -ftime-trace -g -fPIC -Wunused-parameter -Wextra -Wreorder -g -fPIE -std=c++17 -MD -MT test/CMakeFiles/test_xsimd.dir/test_batch_manip.cpp.o -MF test/CMakeFiles/test_xsimd.dir/test_batch_manip.cpp.o.d -o test/CMakeFiles/test_xsimd.dir/test_batch_manip.cpp.o -c /home/user/xsimd/test/test_batch_manip.cpp
FAILED: test/CMakeFiles/test_xsimd.dir/test_batch_manip.cpp.o 
/data/user/Tools/lib/ccache/clang++ -DGTEST_HAS_DWARF=1 -DGTEST_HAS_UNWIND=1 -DXSIMD_ENABLE_XTL_COMPLEX=1 -I/home/user/xsimd/include -isystem /data/user/Debug/include -DDEBUG  -march=skylake  -glldb -fno-omit-frame-pointer -O0 -ftime-trace -g -fPIC -Wunused-parameter -Wextra -Wreorder -g -fPIE -std=c++17 -MD -MT test/CMakeFiles/test_xsimd.dir/test_batch_manip.cpp.o -MF test/CMakeFiles/test_xsimd.dir/test_batch_manip.cpp.o.d -o test/CMakeFiles/test_xsimd.dir/test_batch_manip.cpp.o -c /home/user/xsimd/test/test_batch_manip.cpp
/home/user/xsimd/test/test_batch_manip.cpp:162:19: error: call to 'swizzle' is ambiguous
        B b_res = xsimd::swizzle(b_lhs, xsimd::make_batch_constant<typename as_index<batch_type>::type, Reversor>());
                  ^~~~~~~~~~~~~~
/home/user/xsimd/test/test_batch_manip.cpp:199:11: note: in instantiation of member function 'swizzle_test<xsimd::batch<std::complex<double>>>::swizzle_reverse' requested here
    this->swizzle_reverse();
          ^
/data/user/Debug/include/gtest/internal/gtest-internal.h:473:44: note: in instantiation of member function 'swizzle_test_swizzle_reverse_Test<xsimd::batch<std::complex<double>>>::TestBody' requested here
  Test* CreateTest() override { return new TestClass; }
                                           ^
/data/user/Debug/include/gtest/internal/gtest-internal.h:741:13: note: in instantiation of member function 'testing::internal::TestFactoryImpl<swizzle_test_swizzle_reverse_Test<xsimd::batch<std::complex<double>>>>::CreateTest' requested here
        new TestFactoryImpl<TestClass>);
            ^
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_reverse_Test>, testing::internal::Types<xsimd::batch<std::complex<double>>>>::Register' requested here
                                 typename Types::Tail>::Register(prefix,
                                                        ^
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_reverse_Test>, testing::internal::Types<xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: (skipping 1 context in backtrace; use -ftemplate-backtrace-limit=0 to see all)
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_reverse_Test>, testing::internal::Types<xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_reverse_Test>, testing::internal::Types<xsimd::batch<int>, xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_reverse_Test>, testing::internal::Types<xsimd::batch<unsigned int>, xsimd::batch<int>, xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_reverse_Test>, testing::internal::Types<xsimd::batch<double>, xsimd::batch<unsigned int>, xsimd::batch<int>, xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/home/user/xsimd/test/test_batch_manip.cpp:197:1: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_reverse_Test>, testing::internal::Types<xsimd::batch<float>, xsimd::batch<double>, xsimd::batch<unsigned int>, xsimd::batch<int>, xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
TYPED_TEST(swizzle_test, swizzle_reverse)
^
/data/user/Debug/include/gtest/gtest-typed-test.h:212:27: note: expanded from macro 'TYPED_TEST'
              CaseName)>::Register("",                                        \
                          ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:1756:24: note: candidate function [with T = std::complex<double>, A = xsimd::fma3<xsimd::avx2>, Vt = unsigned long, Values = <3, 2, 1, 0>]
    inline batch<T, A> swizzle(batch<T, A> const& x, batch_constant<batch<Vt, A>, Values...> mask) noexcept
                       ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:1762:38: note: candidate function [with T = double, A = xsimd::fma3<xsimd::avx2>, Vt = unsigned long, Values = <3, 2, 1, 0>]
    inline batch<std::complex<T>, A> swizzle(batch<std::complex<T>, A> const& x, batch_constant<batch<Vt, A>, Values...> mask) noexcept
                                     ^
/home/user/xsimd/test/test_batch_manip.cpp:162:19: error: call to 'swizzle' is ambiguous
        B b_res = xsimd::swizzle(b_lhs, xsimd::make_batch_constant<typename as_index<batch_type>::type, Reversor>());
                  ^~~~~~~~~~~~~~
/home/user/xsimd/test/test_batch_manip.cpp:199:11: note: in instantiation of member function 'swizzle_test<xsimd::batch<std::complex<float>>>::swizzle_reverse' requested here
    this->swizzle_reverse();
          ^
/data/user/Debug/include/gtest/internal/gtest-internal.h:473:44: note: in instantiation of member function 'swizzle_test_swizzle_reverse_Test<xsimd::batch<std::complex<float>>>::TestBody' requested here
  Test* CreateTest() override { return new TestClass; }
                                           ^
/data/user/Debug/include/gtest/internal/gtest-internal.h:741:13: note: in instantiation of member function 'testing::internal::TestFactoryImpl<swizzle_test_swizzle_reverse_Test<xsimd::batch<std::complex<float>>>>::CreateTest' requested here
        new TestFactoryImpl<TestClass>);
            ^
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_reverse_Test>, testing::internal::Types<xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
                                 typename Types::Tail>::Register(prefix,
                                                        ^
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_reverse_Test>, testing::internal::Types<xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_reverse_Test>, testing::internal::Types<xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_reverse_Test>, testing::internal::Types<xsimd::batch<int>, xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_reverse_Test>, testing::internal::Types<xsimd::batch<unsigned int>, xsimd::batch<int>, xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_reverse_Test>, testing::internal::Types<xsimd::batch<double>, xsimd::batch<unsigned int>, xsimd::batch<int>, xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/home/user/xsimd/test/test_batch_manip.cpp:197:1: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_reverse_Test>, testing::internal::Types<xsimd::batch<float>, xsimd::batch<double>, xsimd::batch<unsigned int>, xsimd::batch<int>, xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
TYPED_TEST(swizzle_test, swizzle_reverse)
^
/data/user/Debug/include/gtest/gtest-typed-test.h:212:27: note: expanded from macro 'TYPED_TEST'
              CaseName)>::Register("",                                        \
                          ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:1756:24: note: candidate function [with T = std::complex<float>, A = xsimd::fma3<xsimd::avx2>, Vt = unsigned int, Values = <7, 6, 5, 4, 3, 2, 1, 0>]
    inline batch<T, A> swizzle(batch<T, A> const& x, batch_constant<batch<Vt, A>, Values...> mask) noexcept
                       ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:1762:38: note: candidate function [with T = float, A = xsimd::fma3<xsimd::avx2>, Vt = unsigned int, Values = <7, 6, 5, 4, 3, 2, 1, 0>]
    inline batch<std::complex<T>, A> swizzle(batch<std::complex<T>, A> const& x, batch_constant<batch<Vt, A>, Values...> mask) noexcept
                                     ^
/home/user/xsimd/test/test_batch_manip.cpp:176:19: error: call to 'swizzle' is ambiguous
        B b_res = xsimd::swizzle(b_lhs, xsimd::make_batch_constant<typename as_index<batch_type>::type, Last>());
                  ^~~~~~~~~~~~~~
/home/user/xsimd/test/test_batch_manip.cpp:204:11: note: in instantiation of member function 'swizzle_test<xsimd::batch<std::complex<double>>>::swizzle_fill' requested here
    this->swizzle_fill();
          ^
/data/user/Debug/include/gtest/internal/gtest-internal.h:473:44: note: in instantiation of member function 'swizzle_test_swizzle_fill_Test<xsimd::batch<std::complex<double>>>::TestBody' requested here
  Test* CreateTest() override { return new TestClass; }
                                           ^
/data/user/Debug/include/gtest/internal/gtest-internal.h:741:13: note: in instantiation of member function 'testing::internal::TestFactoryImpl<swizzle_test_swizzle_fill_Test<xsimd::batch<std::complex<double>>>>::CreateTest' requested here
        new TestFactoryImpl<TestClass>);
            ^
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_fill_Test>, testing::internal::Types<xsimd::batch<std::complex<double>>>>::Register' requested here
                                 typename Types::Tail>::Register(prefix,
                                                        ^
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_fill_Test>, testing::internal::Types<xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: (skipping 1 context in backtrace; use -ftemplate-backtrace-limit=0 to see all)
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_fill_Test>, testing::internal::Types<xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_fill_Test>, testing::internal::Types<xsimd::batch<int>, xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_fill_Test>, testing::internal::Types<xsimd::batch<unsigned int>, xsimd::batch<int>, xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_fill_Test>, testing::internal::Types<xsimd::batch<double>, xsimd::batch<unsigned int>, xsimd::batch<int>, xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/home/user/xsimd/test/test_batch_manip.cpp:202:1: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_fill_Test>, testing::internal::Types<xsimd::batch<float>, xsimd::batch<double>, xsimd::batch<unsigned int>, xsimd::batch<int>, xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
TYPED_TEST(swizzle_test, swizzle_fill)
^
/data/user/Debug/include/gtest/gtest-typed-test.h:212:27: note: expanded from macro 'TYPED_TEST'
              CaseName)>::Register("",                                        \
                          ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:1756:24: note: candidate function [with T = std::complex<double>, A = xsimd::fma3<xsimd::avx2>, Vt = unsigned long, Values = <3, 3, 3, 3>]
    inline batch<T, A> swizzle(batch<T, A> const& x, batch_constant<batch<Vt, A>, Values...> mask) noexcept
                       ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:1762:38: note: candidate function [with T = double, A = xsimd::fma3<xsimd::avx2>, Vt = unsigned long, Values = <3, 3, 3, 3>]
    inline batch<std::complex<T>, A> swizzle(batch<std::complex<T>, A> const& x, batch_constant<batch<Vt, A>, Values...> mask) noexcept
                                     ^
/home/user/xsimd/test/test_batch_manip.cpp:176:19: error: call to 'swizzle' is ambiguous
        B b_res = xsimd::swizzle(b_lhs, xsimd::make_batch_constant<typename as_index<batch_type>::type, Last>());
                  ^~~~~~~~~~~~~~
/home/user/xsimd/test/test_batch_manip.cpp:204:11: note: in instantiation of member function 'swizzle_test<xsimd::batch<std::complex<float>>>::swizzle_fill' requested here
    this->swizzle_fill();
          ^
/data/user/Debug/include/gtest/internal/gtest-internal.h:473:44: note: in instantiation of member function 'swizzle_test_swizzle_fill_Test<xsimd::batch<std::complex<float>>>::TestBody' requested here
  Test* CreateTest() override { return new TestClass; }
                                           ^
/data/user/Debug/include/gtest/internal/gtest-internal.h:741:13: note: in instantiation of member function 'testing::internal::TestFactoryImpl<swizzle_test_swizzle_fill_Test<xsimd::batch<std::complex<float>>>>::CreateTest' requested here
        new TestFactoryImpl<TestClass>);
            ^
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_fill_Test>, testing::internal::Types<xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
                                 typename Types::Tail>::Register(prefix,
                                                        ^
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_fill_Test>, testing::internal::Types<xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_fill_Test>, testing::internal::Types<xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_fill_Test>, testing::internal::Types<xsimd::batch<int>, xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_fill_Test>, testing::internal::Types<xsimd::batch<unsigned int>, xsimd::batch<int>, xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_fill_Test>, testing::internal::Types<xsimd::batch<double>, xsimd::batch<unsigned int>, xsimd::batch<int>, xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/home/user/xsimd/test/test_batch_manip.cpp:202:1: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_fill_Test>, testing::internal::Types<xsimd::batch<float>, xsimd::batch<double>, xsimd::batch<unsigned int>, xsimd::batch<int>, xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
TYPED_TEST(swizzle_test, swizzle_fill)
^
/data/user/Debug/include/gtest/gtest-typed-test.h:212:27: note: expanded from macro 'TYPED_TEST'
              CaseName)>::Register("",                                        \
                          ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:1756:24: note: candidate function [with T = std::complex<float>, A = xsimd::fma3<xsimd::avx2>, Vt = unsigned int, Values = <7, 7, 7, 7, 7, 7, 7, 7>]
    inline batch<T, A> swizzle(batch<T, A> const& x, batch_constant<batch<Vt, A>, Values...> mask) noexcept
                       ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:1762:38: note: candidate function [with T = float, A = xsimd::fma3<xsimd::avx2>, Vt = unsigned int, Values = <7, 7, 7, 7, 7, 7, 7, 7>]
    inline batch<std::complex<T>, A> swizzle(batch<std::complex<T>, A> const& x, batch_constant<batch<Vt, A>, Values...> mask) noexcept
                                     ^
/home/user/xsimd/test/test_batch_manip.cpp:190:19: error: call to 'swizzle' is ambiguous
        B b_res = xsimd::swizzle(b_lhs, xsimd::make_batch_constant<typename as_index<batch_type>::type, Dup>());
                  ^~~~~~~~~~~~~~
/home/user/xsimd/test/test_batch_manip.cpp:209:11: note: in instantiation of member function 'swizzle_test<xsimd::batch<std::complex<double>>>::swizzle_dup' requested here
    this->swizzle_dup();
          ^
/data/user/Debug/include/gtest/internal/gtest-internal.h:473:44: note: in instantiation of member function 'swizzle_test_swizzle_dup_Test<xsimd::batch<std::complex<double>>>::TestBody' requested here
  Test* CreateTest() override { return new TestClass; }
                                           ^
/data/user/Debug/include/gtest/internal/gtest-internal.h:741:13: note: in instantiation of member function 'testing::internal::TestFactoryImpl<swizzle_test_swizzle_dup_Test<xsimd::batch<std::complex<double>>>>::CreateTest' requested here
        new TestFactoryImpl<TestClass>);
            ^
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_dup_Test>, testing::internal::Types<xsimd::batch<std::complex<double>>>>::Register' requested here
                                 typename Types::Tail>::Register(prefix,
                                                        ^
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_dup_Test>, testing::internal::Types<xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: (skipping 1 context in backtrace; use -ftemplate-backtrace-limit=0 to see all)
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_dup_Test>, testing::internal::Types<xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_dup_Test>, testing::internal::Types<xsimd::batch<int>, xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_dup_Test>, testing::internal::Types<xsimd::batch<unsigned int>, xsimd::batch<int>, xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_dup_Test>, testing::internal::Types<xsimd::batch<double>, xsimd::batch<unsigned int>, xsimd::batch<int>, xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/home/user/xsimd/test/test_batch_manip.cpp:207:1: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_dup_Test>, testing::internal::Types<xsimd::batch<float>, xsimd::batch<double>, xsimd::batch<unsigned int>, xsimd::batch<int>, xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
TYPED_TEST(swizzle_test, swizzle_dup)
^
/data/user/Debug/include/gtest/gtest-typed-test.h:212:27: note: expanded from macro 'TYPED_TEST'
              CaseName)>::Register("",                                        \
                          ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:1756:24: note: candidate function [with T = std::complex<double>, A = xsimd::fma3<xsimd::avx2>, Vt = unsigned long, Values = <0, 0, 2, 2>]
    inline batch<T, A> swizzle(batch<T, A> const& x, batch_constant<batch<Vt, A>, Values...> mask) noexcept
                       ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:1762:38: note: candidate function [with T = double, A = xsimd::fma3<xsimd::avx2>, Vt = unsigned long, Values = <0, 0, 2, 2>]
    inline batch<std::complex<T>, A> swizzle(batch<std::complex<T>, A> const& x, batch_constant<batch<Vt, A>, Values...> mask) noexcept
                                     ^
/home/user/xsimd/test/test_batch_manip.cpp:190:19: error: call to 'swizzle' is ambiguous
        B b_res = xsimd::swizzle(b_lhs, xsimd::make_batch_constant<typename as_index<batch_type>::type, Dup>());
                  ^~~~~~~~~~~~~~
/home/user/xsimd/test/test_batch_manip.cpp:209:11: note: in instantiation of member function 'swizzle_test<xsimd::batch<std::complex<float>>>::swizzle_dup' requested here
    this->swizzle_dup();
          ^
/data/user/Debug/include/gtest/internal/gtest-internal.h:473:44: note: in instantiation of member function 'swizzle_test_swizzle_dup_Test<xsimd::batch<std::complex<float>>>::TestBody' requested here
  Test* CreateTest() override { return new TestClass; }
                                           ^
/data/user/Debug/include/gtest/internal/gtest-internal.h:741:13: note: in instantiation of member function 'testing::internal::TestFactoryImpl<swizzle_test_swizzle_dup_Test<xsimd::batch<std::complex<float>>>>::CreateTest' requested here
        new TestFactoryImpl<TestClass>);
            ^
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_dup_Test>, testing::internal::Types<xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
                                 typename Types::Tail>::Register(prefix,
                                                        ^
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_dup_Test>, testing::internal::Types<xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_dup_Test>, testing::internal::Types<xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_dup_Test>, testing::internal::Types<xsimd::batch<int>, xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_dup_Test>, testing::internal::Types<xsimd::batch<unsigned int>, xsimd::batch<int>, xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/data/user/Debug/include/gtest/internal/gtest-internal.h:745:57: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_dup_Test>, testing::internal::Types<xsimd::batch<double>, xsimd::batch<unsigned int>, xsimd::batch<int>, xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
/home/user/xsimd/test/test_batch_manip.cpp:207:1: note: in instantiation of member function 'testing::internal::TypeParameterizedTest<swizzle_test, testing::internal::TemplateSel<swizzle_test_swizzle_dup_Test>, testing::internal::Types<xsimd::batch<float>, xsimd::batch<double>, xsimd::batch<unsigned int>, xsimd::batch<int>, xsimd::batch<unsigned long>, xsimd::batch<long>, xsimd::batch<std::complex<float>>, xsimd::batch<std::complex<double>>>>::Register' requested here
TYPED_TEST(swizzle_test, swizzle_dup)
^
/data/user/Debug/include/gtest/gtest-typed-test.h:212:27: note: expanded from macro 'TYPED_TEST'
              CaseName)>::Register("",                                        \
                          ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:1756:24: note: candidate function [with T = std::complex<float>, A = xsimd::fma3<xsimd::avx2>, Vt = unsigned int, Values = <0, 0, 2, 2, 4, 4, 6, 6>]
    inline batch<T, A> swizzle(batch<T, A> const& x, batch_constant<batch<Vt, A>, Values...> mask) noexcept
                       ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:1762:38: note: candidate function [with T = float, A = xsimd::fma3<xsimd::avx2>, Vt = unsigned int, Values = <0, 0, 2, 2, 4, 4, 6, 6>]
    inline batch<std::complex<T>, A> swizzle(batch<std::complex<T>, A> const& x, batch_constant<batch<Vt, A>, Values...> mask) noexcept
                                     ^
6 errors generated.
[8/11  27% :: 1.773] /data/user/Tools/lib/ccache/clang++ -DGTEST_HAS_DWARF=1 -DGTEST_HAS_UNWIND=1 -DXSIMD_ENABLE_XTL_COMPLEX=1 -I/home/user/xsimd/include -isystem /data/user/Debug/include -DDEBUG  -march=skylake  -glldb -fno-omit-frame-pointer -O0 -ftime-trace -g -fPIC -Wunused-parameter -Wextra -Wreorder -g -fPIE -std=c++17 -MD -MT test/CMakeFiles/test_xsimd.dir/test_trigonometric.cpp.o -MF test/CMakeFiles/test_xsimd.dir/test_trigonometric.cpp.o.d -o test/CMakeFiles/test_xsimd.dir/test_trigonometric.cpp.o -c /home/user/xsimd/test/test_trigonometric.cpp
[8/11  36% :: 1.809] /data/user/Tools/lib/ccache/clang++ -DGTEST_HAS_DWARF=1 -DGTEST_HAS_UNWIND=1 -DXSIMD_ENABLE_XTL_COMPLEX=1 -I/home/user/xsimd/include -isystem /data/user/Debug/include -DDEBUG  -march=skylake  -glldb -fno-omit-frame-pointer -O0 -ftime-trace -g -fPIC -Wunused-parameter -Wextra -Wreorder -g -fPIE -std=c++17 -MD -MT test/CMakeFiles/test_xsimd.dir/test_traits.cpp.o -MF test/CMakeFiles/test_xsimd.dir/test_traits.cpp.o.d -o test/CMakeFiles/test_xsimd.dir/test_traits.cpp.o -c /home/user/xsimd/test/test_traits.cpp
[8/11  45% :: 1.912] /data/user/Tools/lib/ccache/clang++ -DGTEST_HAS_DWARF=1 -DGTEST_HAS_UNWIND=1 -DXSIMD_ENABLE_XTL_COMPLEX=1 -I/home/user/xsimd/include -isystem /data/user/Debug/include -DDEBUG  -march=skylake  -glldb -fno-omit-frame-pointer -O0 -ftime-trace -g -fPIC -Wunused-parameter -Wextra -Wreorder -g -fPIE -std=c++17 -MD -MT test/CMakeFiles/test_xsimd.dir/test_shuffle.cpp.o -MF test/CMakeFiles/test_xsimd.dir/test_shuffle.cpp.o.d -o test/CMakeFiles/test_xsimd.dir/test_shuffle.cpp.o -c /home/user/xsimd/test/test_shuffle.cpp
[8/11  54% :: 1.990] /data/user/Tools/lib/ccache/clang++ -DGTEST_HAS_DWARF=1 -DGTEST_HAS_UNWIND=1 -DXSIMD_ENABLE_XTL_COMPLEX=1 -I/home/user/xsimd/include -isystem /data/user/Debug/include -DDEBUG  -march=skylake  -glldb -fno-omit-frame-pointer -O0 -ftime-trace -g -fPIC -Wunused-parameter -Wextra -Wreorder -g -fPIE -std=c++17 -MD -MT test/CMakeFiles/test_xsimd.dir/test_select.cpp.o -MF test/CMakeFiles/test_xsimd.dir/test_select.cpp.o.d -o test/CMakeFiles/test_xsimd.dir/test_select.cpp.o -c /home/user/xsimd/test/test_select.cpp
[8/11  63% :: 2.208] /data/user/Tools/lib/ccache/clang++  -I/home/user/xsimd/include -DDEBUG  -march=skylake  -glldb -fno-omit-frame-pointer -O0 -ftime-trace -O3 -march=native -mtune=native -std=c++14 -g -fPIE -std=c++17 -MD -MT examples/CMakeFiles/mandelbrot.dir/mandelbrot.cpp.o -MF examples/CMakeFiles/mandelbrot.dir/mandelbrot.cpp.o.d -o examples/CMakeFiles/mandelbrot.dir/mandelbrot.cpp.o -c /home/user/xsimd/examples/mandelbrot.cpp
/home/user/xsimd/examples/mandelbrot.cpp:280:9: warning: expression result unused [-Wunused-value]
        expand_type { (run_arch<Arch>(bencher, x0, y0, x1, x1, width, height, maxIters, buffer), 0)... };
        ^           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/user/xsimd/examples/mandelbrot.cpp:330:51: note: in instantiation of function template specialization 'run_archlist<xsimd::arch_list<xsimd::fma3<xsimd::avx2>, xsimd::avx2, xsimd::fma3<xsimd::avx>, xsimd::avx, xsimd::sse4_2, xsimd::sse4_1, xsimd::ssse3, xsimd::sse3, xsimd::sse2>>::run<pico_bench::Benchmarker<std::chrono::duration<long, std::ratio<1, 1000>>>>' requested here
    run_archlist<xsimd::supported_architectures>::run(bencher, x0, y0, x1, y1, width, height, maxIters, buf);
                                                  ^
1 warning generated.
[8/11  72% :: 2.246] /data/user/Tools/lib/ccache/clang++  -I/home/user/xsimd/include -DDEBUG  -march=skylake  -glldb -fno-omit-frame-pointer -O0 -ftime-trace -Wunused-parameter -Wextra -Wreorder -Wconversion -std=c++11 -g -fPIE -std=c++17 -MD -MT benchmark/CMakeFiles/benchmark_xsimd.dir/main.cpp.o -MF benchmark/CMakeFiles/benchmark_xsimd.dir/main.cpp.o.d -o benchmark/CMakeFiles/benchmark_xsimd.dir/main.cpp.o -c /home/user/xsimd/benchmark/main.cpp
In file included from /home/user/xsimd/benchmark/main.cpp:12:
In file included from /home/user/xsimd/benchmark/xsimd_benchmark.hpp:16:
In file included from /home/user/xsimd/include/xsimd/xsimd.hpp:24:
In file included from /home/user/xsimd/include/xsimd/memory/xsimd_aligned_allocator.hpp:27:
In file included from /home/user/xsimd/include/xsimd/memory/../config/xsimd_arch.hpp:21:
/home/user/xsimd/include/xsimd/config/./xsimd_cpuid.hpp:133:33: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
                get_cpuid(regs, 0x80000001);
                ~~~~~~~~~       ^~~~~~~~~~
In file included from /home/user/xsimd/benchmark/main.cpp:12:
In file included from /home/user/xsimd/benchmark/xsimd_benchmark.hpp:16:
In file included from /home/user/xsimd/include/xsimd/xsimd.hpp:29:
In file included from /home/user/xsimd/include/xsimd/types/xsimd_batch.hpp:384:
In file included from /home/user/xsimd/include/xsimd/config/../types/../arch/xsimd_isa.hpp:20:
/home/user/xsimd/include/xsimd/arch/./xsimd_sse2.hpp:516:87: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m128i mask = _mm_setr_epi16(0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000);
                               ~~~~~~~~~~~~~~                                         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_sse2.hpp:516:79: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m128i mask = _mm_setr_epi16(0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000);
                               ~~~~~~~~~~~~~~                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_sse2.hpp:516:55: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m128i mask = _mm_setr_epi16(0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000);
                               ~~~~~~~~~~~~~~         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_sse2.hpp:516:47: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m128i mask = _mm_setr_epi16(0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000);
                               ~~~~~~~~~~~~~~ ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_sse2.hpp:528:111: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                xH = _mm_and_si128(xH, _mm_setr_epi16(0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF));
                                       ~~~~~~~~~~~~~~                                                         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_sse2.hpp:528:103: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                xH = _mm_and_si128(xH, _mm_setr_epi16(0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF));
                                       ~~~~~~~~~~~~~~                                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_sse2.hpp:528:79: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                xH = _mm_and_si128(xH, _mm_setr_epi16(0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF));
                                       ~~~~~~~~~~~~~~                         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_sse2.hpp:528:71: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                xH = _mm_and_si128(xH, _mm_setr_epi16(0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF));
                                       ~~~~~~~~~~~~~~                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_sse2.hpp:530:95: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m128i mask = _mm_setr_epi16(0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000);
                               ~~~~~~~~~~~~~~                                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_sse2.hpp:530:87: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m128i mask = _mm_setr_epi16(0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000);
                               ~~~~~~~~~~~~~~                                         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_sse2.hpp:530:79: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m128i mask = _mm_setr_epi16(0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000);
                               ~~~~~~~~~~~~~~                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_sse2.hpp:530:63: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m128i mask = _mm_setr_epi16(0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000);
                               ~~~~~~~~~~~~~~                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_sse2.hpp:530:55: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m128i mask = _mm_setr_epi16(0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000);
                               ~~~~~~~~~~~~~~         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_sse2.hpp:530:47: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m128i mask = _mm_setr_epi16(0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000);
                               ~~~~~~~~~~~~~~ ^~~~~~
In file included from /home/user/xsimd/benchmark/main.cpp:12:
In file included from /home/user/xsimd/benchmark/xsimd_benchmark.hpp:16:
In file included from /home/user/xsimd/include/xsimd/xsimd.hpp:29:
In file included from /home/user/xsimd/include/xsimd/types/xsimd_batch.hpp:384:
In file included from /home/user/xsimd/include/xsimd/config/../types/../arch/xsimd_isa.hpp:32:
/home/user/xsimd/include/xsimd/arch/./xsimd_sse4_1.hpp:239:127: warning: implicit conversion changes signedness: 'const int' to 'unsigned long long' [-Wsign-conversion]
                return (((cond * 0x0101010101010101ULL & 0x8040201008040201ULL) * 0x0102040810204081ULL >> 49) & 0x5555) | (((cond * 0x0101010101010101ULL & 0x8040201008040201ULL) * 0x0102040810204081ULL >> 48) & 0xAAAA);
                                                                                                                              ^~~~ ~
/home/user/xsimd/include/xsimd/arch/./xsimd_sse4_1.hpp:269:47: note: in instantiation of function template specialization 'xsimd::kernel::detail::interleave<int>' requested here
                constexpr int imask = detail::interleave(mask);
                                              ^
/home/user/xsimd/include/xsimd/arch/./xsimd_sse4_1.hpp:239:27: warning: implicit conversion changes signedness: 'const int' to 'unsigned long long' [-Wsign-conversion]
                return (((cond * 0x0101010101010101ULL & 0x8040201008040201ULL) * 0x0102040810204081ULL >> 49) & 0x5555) | (((cond * 0x0101010101010101ULL & 0x8040201008040201ULL) * 0x0102040810204081ULL >> 48) & 0xAAAA);
                          ^~~~ ~
In file included from /home/user/xsimd/benchmark/main.cpp:12:
In file included from /home/user/xsimd/benchmark/xsimd_benchmark.hpp:16:
In file included from /home/user/xsimd/include/xsimd/xsimd.hpp:29:
In file included from /home/user/xsimd/include/xsimd/types/xsimd_batch.hpp:384:
In file included from /home/user/xsimd/include/xsimd/config/../types/../arch/xsimd_isa.hpp:56:
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:273:90: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                                                 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000);
                                                                                         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:273:82: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                                                 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000);
                                                                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:273:58: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                                                 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000);
                                                         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:273:50: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                                                 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000);
                                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:272:90: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m256i mask = _mm256_setr_epi16(0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000,
                               ~~~~~~~~~~~~~~~~~                                         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:272:82: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m256i mask = _mm256_setr_epi16(0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000,
                               ~~~~~~~~~~~~~~~~~                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:272:58: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m256i mask = _mm256_setr_epi16(0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000,
                               ~~~~~~~~~~~~~~~~~         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:272:50: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m256i mask = _mm256_setr_epi16(0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000,
                               ~~~~~~~~~~~~~~~~~ ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:285:181: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                xH = _mm256_and_si256(xH, _mm256_setr_epi16(0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF));
                                          ~~~~~~~~~~~~~~~~~                                                                                                                         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:285:173: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                xH = _mm256_and_si256(xH, _mm256_setr_epi16(0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF));
                                          ~~~~~~~~~~~~~~~~~                                                                                                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:285:149: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                xH = _mm256_and_si256(xH, _mm256_setr_epi16(0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF));
                                          ~~~~~~~~~~~~~~~~~                                                                                         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:285:141: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                xH = _mm256_and_si256(xH, _mm256_setr_epi16(0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF));
                                          ~~~~~~~~~~~~~~~~~                                                                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:285:117: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                xH = _mm256_and_si256(xH, _mm256_setr_epi16(0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF));
                                          ~~~~~~~~~~~~~~~~~                                                         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:285:109: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                xH = _mm256_and_si256(xH, _mm256_setr_epi16(0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF));
                                          ~~~~~~~~~~~~~~~~~                                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:285:85: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                xH = _mm256_and_si256(xH, _mm256_setr_epi16(0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF));
                                          ~~~~~~~~~~~~~~~~~                         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:285:77: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                xH = _mm256_and_si256(xH, _mm256_setr_epi16(0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF));
                                          ~~~~~~~~~~~~~~~~~                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:288:98: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                                                 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000);
                                                                                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:288:90: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                                                 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000);
                                                                                         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:288:82: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                                                 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000);
                                                                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:288:66: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                                                 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000);
                                                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:288:58: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                                                 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000);
                                                         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:288:50: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                                                 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000);
                                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:287:98: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m256i mask = _mm256_setr_epi16(0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000,
                               ~~~~~~~~~~~~~~~~~                                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:287:90: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m256i mask = _mm256_setr_epi16(0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000,
                               ~~~~~~~~~~~~~~~~~                                         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:287:82: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m256i mask = _mm256_setr_epi16(0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000,
                               ~~~~~~~~~~~~~~~~~                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:287:66: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m256i mask = _mm256_setr_epi16(0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000,
                               ~~~~~~~~~~~~~~~~~                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:287:58: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m256i mask = _mm256_setr_epi16(0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000,
                               ~~~~~~~~~~~~~~~~~         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:287:50: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m256i mask = _mm256_setr_epi16(0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000,
                               ~~~~~~~~~~~~~~~~~ ^~~~~~
In file included from /home/user/xsimd/benchmark/main.cpp:12:
In file included from /home/user/xsimd/benchmark/xsimd_benchmark.hpp:16:
In file included from /home/user/xsimd/include/xsimd/xsimd.hpp:29:
In file included from /home/user/xsimd/include/xsimd/types/xsimd_batch.hpp:384:
In file included from /home/user/xsimd/include/xsimd/config/../types/../arch/xsimd_isa.hpp:80:
In file included from /home/user/xsimd/include/xsimd/arch/./xsimd_generic.hpp:15:
In file included from /home/user/xsimd/include/xsimd/arch/./generic/xsimd_generic_arithmetic.hpp:18:
In file included from /home/user/xsimd/include/xsimd/arch/./generic/./xsimd_generic_details.hpp:17:
/home/user/xsimd/include/xsimd/arch/./generic/../../math/xsimd_rem_pio2.hpp:648:27: warning: implicit conversion changes signedness: 'unsigned int' to 'std::int32_t' (aka 'int') [-Wsign-conversion]
                    i = j - ((high >> 20) & 0x7ff);
                      ~ ~~^~~~~~~~~~~~~~~~~~~~~~~~
/home/user/xsimd/include/xsimd/arch/./generic/../../math/xsimd_rem_pio2.hpp:648:25: warning: implicit conversion changes signedness: 'std::int32_t' (aka 'int') to 'unsigned int' [-Wsign-conversion]
                    i = j - ((high >> 20) & 0x7ff);
                        ^ ~
/home/user/xsimd/include/xsimd/arch/./generic/../../math/xsimd_rem_pio2.hpp:657:31: warning: implicit conversion changes signedness: 'unsigned int' to 'std::int32_t' (aka 'int') [-Wsign-conversion]
                        i = j - ((high >> 20) & 0x7ff);
                          ~ ~~^~~~~~~~~~~~~~~~~~~~~~~~
/home/user/xsimd/include/xsimd/arch/./generic/../../math/xsimd_rem_pio2.hpp:657:29: warning: implicit conversion changes signedness: 'std::int32_t' (aka 'int') to 'unsigned int' [-Wsign-conversion]
                        i = j - ((high >> 20) & 0x7ff);
                            ^ ~
/home/user/xsimd/include/xsimd/arch/./generic/../../math/xsimd_rem_pio2.hpp:690:33: warning: implicit conversion changes signedness: 'int' to 'std::uint32_t' (aka 'unsigned int') [-Wsign-conversion]
            SET_HIGH_WORD(z, ix - ((std::int32_t)(e0 << 20)));
            ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/user/xsimd/include/xsimd/arch/./generic/../../math/xsimd_rem_pio2.hpp:93:32: note: expanded from macro 'SET_HIGH_WORD'
        std::uint32_t value = (v);                               \
                      ~~~~~    ^
In file included from /home/user/xsimd/benchmark/main.cpp:12:
In file included from /home/user/xsimd/benchmark/xsimd_benchmark.hpp:16:
In file included from /home/user/xsimd/include/xsimd/xsimd.hpp:29:
In file included from /home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:384:
In file included from /home/user/xsimd/include/xsimd/config/../types/../arch/xsimd_isa.hpp:48:
/home/user/xsimd/include/xsimd/arch/./xsimd_avx.hpp:410:41: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion]
                return _mm256_set1_epi8(val);
                       ~~~~~~~~~~~~~~~~ ^~~
/home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:397:46: note: in instantiation of function template specialization 'xsimd::kernel::broadcast<xsimd::fma3<xsimd::avx2>, int, void>' requested here
        : types::simd_register<T, A>(kernel::broadcast<A>(val, A {}))
                                             ^
/home/user/xsimd/include/xsimd/arch/./generic/xsimd_generic_math.hpp:1052:32: note: in instantiation of member function 'xsimd::batch<int>::batch' requested here
            itype ik = other + constants::maxexponent<T>();
                               ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:978:24: note: in instantiation of function template specialization 'xsimd::kernel::ldexp<xsimd::fma3<xsimd::avx2>, float>' requested here
        return kernel::ldexp<A>(x, y, A {});
                       ^
/home/user/xsimd/include/xsimd/arch/./generic/xsimd_generic_math.hpp:827:73: note: in instantiation of function template specialization 'xsimd::ldexp<float, xsimd::fma3<xsimd::avx2>>' requested here
                x = select(self <= reducer_t::minlog(), batch_type(0.), ldexp(x, to_int(k)));
                                                                        ^
/home/user/xsimd/include/xsimd/arch/./generic/xsimd_generic_math.hpp:850:28: note: in instantiation of function template specialization 'xsimd::kernel::detail::exp<xsimd::kernel::detail::exp_tag, xsimd::fma3<xsimd::avx2>>' requested here
            return detail::exp<detail::exp_tag>(self);
                           ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:505:24: note: in instantiation of function template specialization 'xsimd::kernel::exp<xsimd::fma3<xsimd::avx2>, float>' requested here
        return kernel::exp<A>(x, A {});
                       ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:488:24: note: in instantiation of function template specialization 'xsimd::exp<float, xsimd::fma3<xsimd::avx2>>' requested here
    DEFINE_FUNCTOR_1OP(exp);
                       ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:144:26: note: in instantiation of function template specialization 'xsimd::exp_fn::operator()<xsimd::batch<float>>' requested here
                B bres = f(blhs);
                         ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:340:40: note: in instantiation of function template specialization 'xsimd::benchmark_simd<xsimd::batch<float>, xsimd::exp_fn, std::vector<float, xsimd::aligned_allocator<float, 32>>>' requested here
        duration_type t_float_vector = benchmark_simd<batch<float>>(f, f_lhs, f_res, iter);
                                       ^
/home/user/xsimd/benchmark/main.cpp:28:12: note: in instantiation of function template specialization 'xsimd::run_benchmark_1op<xsimd::exp_fn, std::basic_ostream<char>>' requested here
    xsimd::run_benchmark_1op(xsimd::exp_fn(), std::cout, size, 1000);
           ^
In file included from /home/user/xsimd/benchmark/main.cpp:12:
In file included from /home/user/xsimd/benchmark/xsimd_benchmark.hpp:16:
In file included from /home/user/xsimd/include/xsimd/xsimd.hpp:29:
In file included from /home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:384:
In file included from /home/user/xsimd/include/xsimd/config/../types/../arch/xsimd_isa.hpp:48:
/home/user/xsimd/include/xsimd/arch/./xsimd_avx.hpp:412:42: warning: implicit conversion loses integer precision: 'int' to 'short' [-Wimplicit-int-conversion]
                return _mm256_set1_epi16(val);
                       ~~~~~~~~~~~~~~~~~ ^~~
In file included from /home/user/xsimd/benchmark/main.cpp:12:
In file included from /home/user/xsimd/benchmark/xsimd_benchmark.hpp:16:
In file included from /home/user/xsimd/include/xsimd/xsimd.hpp:29:
In file included from /home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:384:
In file included from /home/user/xsimd/include/xsimd/config/../types/../arch/xsimd_isa.hpp:20:
/home/user/xsimd/include/xsimd/arch/./xsimd_sse2.hpp:193:57: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion]
                return _mm_and_si128(_mm_set1_epi8(0xFF << other), _mm_slli_epi32(self, other));
                                     ~~~~~~~~~~~~~ ~~~~~^~~~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx.hpp:221:48: note: in instantiation of function template specialization 'xsimd::kernel::bitwise_lshift<xsimd::sse4_2, int, void>' requested here
                                      { return bitwise_lshift(batch<T, sse4_2>(s), o, sse4_2 {}); },
                                               ^
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:116:24: note: in instantiation of function template specialization 'xsimd::kernel::bitwise_lshift<xsimd::fma3<xsimd::avx2>, int, void>' requested here
                return bitwise_lshift(self, other, avx {});
                       ^
/home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:658:32: note: in instantiation of function template specialization 'xsimd::kernel::bitwise_lshift<xsimd::fma3<xsimd::avx2>, int, void>' requested here
        return *this = kernel::bitwise_lshift<A>(*this, other, A {});
                               ^
/home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:170:32: note: in instantiation of member function 'xsimd::batch<int>::operator<<=' requested here
            return batch(self) <<= other;
                               ^
/home/user/xsimd/include/xsimd/arch/./generic/xsimd_generic_math.hpp:1053:21: note: in instantiation of member function 'xsimd::operator<<' requested here
            ik = ik << constants::nmb<T>();
                    ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:978:24: note: (skipping 3 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
        return kernel::ldexp<A>(x, y, A {});
                       ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:505:24: note: in instantiation of function template specialization 'xsimd::kernel::exp<xsimd::fma3<xsimd::avx2>, float>' requested here
        return kernel::exp<A>(x, A {});
                       ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:488:24: note: in instantiation of function template specialization 'xsimd::exp<float, xsimd::fma3<xsimd::avx2>>' requested here
    DEFINE_FUNCTOR_1OP(exp);
                       ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:144:26: note: in instantiation of function template specialization 'xsimd::exp_fn::operator()<xsimd::batch<float>>' requested here
                B bres = f(blhs);
                         ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:340:40: note: in instantiation of function template specialization 'xsimd::benchmark_simd<xsimd::batch<float>, xsimd::exp_fn, std::vector<float, xsimd::aligned_allocator<float, 32>>>' requested here
        duration_type t_float_vector = benchmark_simd<batch<float>>(f, f_lhs, f_res, iter);
                                       ^
/home/user/xsimd/benchmark/main.cpp:28:12: note: in instantiation of function template specialization 'xsimd::run_benchmark_1op<xsimd::exp_fn, std::basic_ostream<char>>' requested here
    xsimd::run_benchmark_1op(xsimd::exp_fn(), std::cout, size, 1000);
           ^
In file included from /home/user/xsimd/benchmark/main.cpp:12:
In file included from /home/user/xsimd/benchmark/xsimd_benchmark.hpp:16:
In file included from /home/user/xsimd/include/xsimd/xsimd.hpp:29:
In file included from /home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:384:
In file included from /home/user/xsimd/include/xsimd/config/../types/../arch/xsimd_isa.hpp:48:
/home/user/xsimd/include/xsimd/arch/./xsimd_avx.hpp:410:41: warning: implicit conversion loses integer precision: 'long' to 'char' [-Wimplicit-int-conversion]
                return _mm256_set1_epi8(val);
                       ~~~~~~~~~~~~~~~~ ^~~
/home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:397:46: note: in instantiation of function template specialization 'xsimd::kernel::broadcast<xsimd::fma3<xsimd::avx2>, long, void>' requested here
        : types::simd_register<T, A>(kernel::broadcast<A>(val, A {}))
                                             ^
/home/user/xsimd/include/xsimd/arch/./generic/xsimd_generic_math.hpp:1052:32: note: in instantiation of member function 'xsimd::batch<long>::batch' requested here
            itype ik = other + constants::maxexponent<T>();
                               ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:978:24: note: in instantiation of function template specialization 'xsimd::kernel::ldexp<xsimd::fma3<xsimd::avx2>, double>' requested here
        return kernel::ldexp<A>(x, y, A {});
                       ^
/home/user/xsimd/include/xsimd/arch/./generic/xsimd_generic_math.hpp:841:73: note: in instantiation of function template specialization 'xsimd::ldexp<double, xsimd::fma3<xsimd::avx2>>' requested here
                c = select(self <= reducer_t::minlog(), batch_type(0.), ldexp(c, to_int(k)));
                                                                        ^
/home/user/xsimd/include/xsimd/arch/./generic/xsimd_generic_math.hpp:850:28: note: in instantiation of function template specialization 'xsimd::kernel::detail::exp<xsimd::kernel::detail::exp_tag, xsimd::fma3<xsimd::avx2>>' requested here
            return detail::exp<detail::exp_tag>(self);
                           ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:505:24: note: in instantiation of function template specialization 'xsimd::kernel::exp<xsimd::fma3<xsimd::avx2>, double>' requested here
        return kernel::exp<A>(x, A {});
                       ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:488:24: note: in instantiation of function template specialization 'xsimd::exp<double, xsimd::fma3<xsimd::avx2>>' requested here
    DEFINE_FUNCTOR_1OP(exp);
                       ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:144:26: note: in instantiation of function template specialization 'xsimd::exp_fn::operator()<xsimd::batch<double>>' requested here
                B bres = f(blhs);
                         ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:343:41: note: in instantiation of function template specialization 'xsimd::benchmark_simd<xsimd::batch<double>, xsimd::exp_fn, std::vector<double, xsimd::aligned_allocator<double, 32>>>' requested here
        duration_type t_double_vector = benchmark_simd<batch<double>>(f, d_lhs, d_res, iter);
                                        ^
/home/user/xsimd/benchmark/main.cpp:28:12: note: in instantiation of function template specialization 'xsimd::run_benchmark_1op<xsimd::exp_fn, std::basic_ostream<char>>' requested here
    xsimd::run_benchmark_1op(xsimd::exp_fn(), std::cout, size, 1000);
           ^
In file included from /home/user/xsimd/benchmark/main.cpp:12:
In file included from /home/user/xsimd/benchmark/xsimd_benchmark.hpp:16:
In file included from /home/user/xsimd/include/xsimd/xsimd.hpp:29:
In file included from /home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:384:
In file included from /home/user/xsimd/include/xsimd/config/../types/../arch/xsimd_isa.hpp:48:
/home/user/xsimd/include/xsimd/arch/./xsimd_avx.hpp:412:42: warning: implicit conversion loses integer precision: 'long' to 'short' [-Wimplicit-int-conversion]
                return _mm256_set1_epi16(val);
                       ~~~~~~~~~~~~~~~~~ ^~~
In file included from /home/user/xsimd/benchmark/main.cpp:12:
In file included from /home/user/xsimd/benchmark/xsimd_benchmark.hpp:16:
In file included from /home/user/xsimd/include/xsimd/xsimd.hpp:29:
In file included from /home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:384:
In file included from /home/user/xsimd/include/xsimd/config/../types/../arch/xsimd_isa.hpp:20:
/home/user/xsimd/include/xsimd/arch/./xsimd_sse2.hpp:193:57: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wimplicit-int-conversion]
                return _mm_and_si128(_mm_set1_epi8(0xFF << other), _mm_slli_epi32(self, other));
                                     ~~~~~~~~~~~~~ ~~~~~^~~~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx.hpp:221:48: note: in instantiation of function template specialization 'xsimd::kernel::bitwise_lshift<xsimd::sse4_2, long, void>' requested here
                                      { return bitwise_lshift(batch<T, sse4_2>(s), o, sse4_2 {}); },
                                               ^
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:116:24: note: in instantiation of function template specialization 'xsimd::kernel::bitwise_lshift<xsimd::fma3<xsimd::avx2>, long, void>' requested here
                return bitwise_lshift(self, other, avx {});
                       ^
/home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:658:32: note: in instantiation of function template specialization 'xsimd::kernel::bitwise_lshift<xsimd::fma3<xsimd::avx2>, long, void>' requested here
        return *this = kernel::bitwise_lshift<A>(*this, other, A {});
                               ^
/home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:170:32: note: in instantiation of member function 'xsimd::batch<long>::operator<<=' requested here
            return batch(self) <<= other;
                               ^
/home/user/xsimd/include/xsimd/arch/./generic/xsimd_generic_math.hpp:1053:21: note: in instantiation of member function 'xsimd::operator<<' requested here
            ik = ik << constants::nmb<T>();
                    ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:978:24: note: (skipping 3 contexts in backtrace; use -ftemplate-backtrace-limit=0 to see all)
        return kernel::ldexp<A>(x, y, A {});
                       ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:505:24: note: in instantiation of function template specialization 'xsimd::kernel::exp<xsimd::fma3<xsimd::avx2>, double>' requested here
        return kernel::exp<A>(x, A {});
                       ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:488:24: note: in instantiation of function template specialization 'xsimd::exp<double, xsimd::fma3<xsimd::avx2>>' requested here
    DEFINE_FUNCTOR_1OP(exp);
                       ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:144:26: note: in instantiation of function template specialization 'xsimd::exp_fn::operator()<xsimd::batch<double>>' requested here
                B bres = f(blhs);
                         ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:343:41: note: in instantiation of function template specialization 'xsimd::benchmark_simd<xsimd::batch<double>, xsimd::exp_fn, std::vector<double, xsimd::aligned_allocator<double, 32>>>' requested here
        duration_type t_double_vector = benchmark_simd<batch<double>>(f, d_lhs, d_res, iter);
                                        ^
/home/user/xsimd/benchmark/main.cpp:28:12: note: in instantiation of function template specialization 'xsimd::run_benchmark_1op<xsimd::exp_fn, std::basic_ostream<char>>' requested here
    xsimd::run_benchmark_1op(xsimd::exp_fn(), std::cout, size, 1000);
           ^
In file included from /home/user/xsimd/benchmark/main.cpp:12:
In file included from /home/user/xsimd/benchmark/xsimd_benchmark.hpp:16:
In file included from /home/user/xsimd/include/xsimd/xsimd.hpp:29:
In file included from /home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:384:
In file included from /home/user/xsimd/include/xsimd/config/../types/../arch/xsimd_isa.hpp:20:
/home/user/xsimd/include/xsimd/arch/./xsimd_sse2.hpp:310:61: warning: implicit conversion changes signedness: 'int' to 'char' [-Wsign-conversion]
                    return _mm_and_si128(_mm_set1_epi8(0xFF >> other), _mm_srli_epi32(self, other));
                                         ~~~~~~~~~~~~~ ~~~~~^~~~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx.hpp:282:48: note: in instantiation of function template specialization 'xsimd::kernel::bitwise_rshift<xsimd::sse4_2, int, void>' requested here
                                      { return bitwise_rshift(batch<T, sse4_2>(s), o, sse4_2 {}); },
                                               ^
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:170:28: note: in instantiation of function template specialization 'xsimd::kernel::bitwise_rshift<xsimd::fma3<xsimd::avx2>, int, void>' requested here
                    return bitwise_rshift(self, other, avx {});
                           ^
/home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:652:32: note: in instantiation of function template specialization 'xsimd::kernel::bitwise_rshift<xsimd::fma3<xsimd::avx2>, int, void>' requested here
        return *this = kernel::bitwise_rshift<A>(*this, other, A {});
                               ^
/home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:165:32: note: in instantiation of member function 'xsimd::batch<int>::operator>>=' requested here
            return batch(self) >>= other;
                               ^
/home/user/xsimd/include/xsimd/arch/./generic/xsimd_generic_math.hpp:1393:22: note: in instantiation of member function 'xsimd::operator>>' requested here
            k += (ix >> 23) - 0x7f;
                     ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:1130:24: note: in instantiation of function template specialization 'xsimd::kernel::log<xsimd::fma3<xsimd::avx2>>' requested here
        return kernel::log<A>(x, A {});
                       ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:491:24: note: in instantiation of function template specialization 'xsimd::log<float, xsimd::fma3<xsimd::avx2>>' requested here
    DEFINE_FUNCTOR_1OP(log);
                       ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:144:26: note: in instantiation of function template specialization 'xsimd::log_fn::operator()<xsimd::batch<float>>' requested here
                B bres = f(blhs);
                         ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:340:40: note: in instantiation of function template specialization 'xsimd::benchmark_simd<xsimd::batch<float>, xsimd::log_fn, std::vector<float, xsimd::aligned_allocator<float, 32>>>' requested here
        duration_type t_float_vector = benchmark_simd<batch<float>>(f, f_lhs, f_res, iter);
                                       ^
/home/user/xsimd/benchmark/main.cpp:31:12: note: in instantiation of function template specialization 'xsimd::run_benchmark_1op<xsimd::log_fn, std::basic_ostream<char>>' requested here
    xsimd::run_benchmark_1op(xsimd::log_fn(), std::cout, size, 1000);
           ^
In file included from /home/user/xsimd/benchmark/main.cpp:12:
In file included from /home/user/xsimd/benchmark/xsimd_benchmark.hpp:16:
In file included from /home/user/xsimd/include/xsimd/xsimd.hpp:29:
In file included from /home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:384:
In file included from /home/user/xsimd/include/xsimd/config/../types/../arch/xsimd_isa.hpp:20:
/home/user/xsimd/include/xsimd/arch/./xsimd_sse2.hpp:310:61: warning: implicit conversion changes signedness: 'int' to 'char' [-Wsign-conversion]
                    return _mm_and_si128(_mm_set1_epi8(0xFF >> other), _mm_srli_epi32(self, other));
                                         ~~~~~~~~~~~~~ ~~~~~^~~~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx.hpp:282:48: note: in instantiation of function template specialization 'xsimd::kernel::bitwise_rshift<xsimd::sse4_2, long, void>' requested here
                                      { return bitwise_rshift(batch<T, sse4_2>(s), o, sse4_2 {}); },
                                               ^
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:170:28: note: in instantiation of function template specialization 'xsimd::kernel::bitwise_rshift<xsimd::fma3<xsimd::avx2>, long, void>' requested here
                    return bitwise_rshift(self, other, avx {});
                           ^
/home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:652:32: note: in instantiation of function template specialization 'xsimd::kernel::bitwise_rshift<xsimd::fma3<xsimd::avx2>, long, void>' requested here
        return *this = kernel::bitwise_rshift<A>(*this, other, A {});
                               ^
/home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:165:32: note: in instantiation of member function 'xsimd::batch<long>::operator>>=' requested here
            return batch(self) >>= other;
                               ^
/home/user/xsimd/include/xsimd/arch/./generic/xsimd_generic_math.hpp:1421:58: note: in instantiation of member function 'xsimd::operator>>' requested here
            i_type hx = ::xsimd::bitwise_cast<i_type>(x) >> 32;
                                                         ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:1130:24: note: in instantiation of function template specialization 'xsimd::kernel::log<xsimd::fma3<xsimd::avx2>>' requested here
        return kernel::log<A>(x, A {});
                       ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:491:24: note: in instantiation of function template specialization 'xsimd::log<double, xsimd::fma3<xsimd::avx2>>' requested here
    DEFINE_FUNCTOR_1OP(log);
                       ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:144:26: note: in instantiation of function template specialization 'xsimd::log_fn::operator()<xsimd::batch<double>>' requested here
                B bres = f(blhs);
                         ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:343:41: note: in instantiation of function template specialization 'xsimd::benchmark_simd<xsimd::batch<double>, xsimd::log_fn, std::vector<double, xsimd::aligned_allocator<double, 32>>>' requested here
        duration_type t_double_vector = benchmark_simd<batch<double>>(f, d_lhs, d_res, iter);
                                        ^
/home/user/xsimd/benchmark/main.cpp:31:12: note: in instantiation of function template specialization 'xsimd::run_benchmark_1op<xsimd::log_fn, std::basic_ostream<char>>' requested here
    xsimd::run_benchmark_1op(xsimd::log_fn(), std::cout, size, 1000);
           ^
In file included from /home/user/xsimd/benchmark/main.cpp:12:
In file included from /home/user/xsimd/benchmark/xsimd_benchmark.hpp:16:
In file included from /home/user/xsimd/include/xsimd/xsimd.hpp:29:
In file included from /home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:384:
In file included from /home/user/xsimd/include/xsimd/config/../types/../arch/xsimd_isa.hpp:56:
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:285:181: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                xH = _mm256_and_si256(xH, _mm256_setr_epi16(0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF));
                                          ~~~~~~~~~~~~~~~~~                                                                                                                         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./generic/xsimd_generic_math.hpp:60:24: note: in instantiation of function template specialization 'xsimd::kernel::detail::fast_cast<xsimd::fma3<xsimd::avx2>>' requested here
                return fast_cast(self, out, A {});
                       ^
/home/user/xsimd/include/xsimd/arch/./generic/xsimd_generic_math.hpp:81:28: note: in instantiation of function template specialization 'xsimd::kernel::detail::batch_cast<xsimd::fma3<xsimd::avx2>, double, long>' requested here
            return detail::batch_cast(self, out, A {}, detail::conversion_type<A, T_in, T_out> {});
                           ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:205:24: note: in instantiation of function template specialization 'xsimd::kernel::batch_cast<xsimd::fma3<xsimd::avx2>, double, long>' requested here
        return kernel::batch_cast<A>(x, batch<T_out, A> {}, A {});
                       ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:1819:16: note: in instantiation of function template specialization 'xsimd::batch_cast<double, long, xsimd::fma3<xsimd::avx2>>' requested here
        return batch_cast<as_float_t<T>>(i);
               ^
/home/user/xsimd/include/xsimd/arch/./generic/xsimd_generic_math.hpp:1434:29: note: in instantiation of function template specialization 'xsimd::to_float<long, xsimd::fma3<xsimd::avx2>>' requested here
            batch_type dk = to_float(k);
                            ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:1130:24: note: in instantiation of function template specialization 'xsimd::kernel::log<xsimd::fma3<xsimd::avx2>>' requested here
        return kernel::log<A>(x, A {});
                       ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:491:24: note: in instantiation of function template specialization 'xsimd::log<double, xsimd::fma3<xsimd::avx2>>' requested here
    DEFINE_FUNCTOR_1OP(log);
                       ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:144:26: note: in instantiation of function template specialization 'xsimd::log_fn::operator()<xsimd::batch<double>>' requested here
                B bres = f(blhs);
                         ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:343:41: note: in instantiation of function template specialization 'xsimd::benchmark_simd<xsimd::batch<double>, xsimd::log_fn, std::vector<double, xsimd::aligned_allocator<double, 32>>>' requested here
        duration_type t_double_vector = benchmark_simd<batch<double>>(f, d_lhs, d_res, iter);
                                        ^
/home/user/xsimd/benchmark/main.cpp:31:12: note: in instantiation of function template specialization 'xsimd::run_benchmark_1op<xsimd::log_fn, std::basic_ostream<char>>' requested here
    xsimd::run_benchmark_1op(xsimd::log_fn(), std::cout, size, 1000);
           ^
In file included from /home/user/xsimd/benchmark/main.cpp:12:
In file included from /home/user/xsimd/benchmark/xsimd_benchmark.hpp:16:
In file included from /home/user/xsimd/include/xsimd/xsimd.hpp:29:
In file included from /home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:384:
In file included from /home/user/xsimd/include/xsimd/config/../types/../arch/xsimd_isa.hpp:56:
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:285:173: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                xH = _mm256_and_si256(xH, _mm256_setr_epi16(0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF));
                                          ~~~~~~~~~~~~~~~~~                                                                                                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:285:149: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                xH = _mm256_and_si256(xH, _mm256_setr_epi16(0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF));
                                          ~~~~~~~~~~~~~~~~~                                                                                         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:285:141: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                xH = _mm256_and_si256(xH, _mm256_setr_epi16(0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF));
                                          ~~~~~~~~~~~~~~~~~                                                                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:285:117: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                xH = _mm256_and_si256(xH, _mm256_setr_epi16(0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF));
                                          ~~~~~~~~~~~~~~~~~                                                         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:285:109: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                xH = _mm256_and_si256(xH, _mm256_setr_epi16(0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF));
                                          ~~~~~~~~~~~~~~~~~                                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:285:85: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                xH = _mm256_and_si256(xH, _mm256_setr_epi16(0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF));
                                          ~~~~~~~~~~~~~~~~~                         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:285:77: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                xH = _mm256_and_si256(xH, _mm256_setr_epi16(0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF, 0x0000, 0x0000, 0xFFFF, 0xFFFF));
                                          ~~~~~~~~~~~~~~~~~                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:288:98: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                                                 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000);
                                                                                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:288:90: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                                                 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000);
                                                                                         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:288:82: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                                                 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000);
                                                                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:288:66: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                                                 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000);
                                                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:288:58: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                                                 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000);
                                                         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:288:50: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                                                 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000);
                                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:287:98: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m256i mask = _mm256_setr_epi16(0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000,
                               ~~~~~~~~~~~~~~~~~                                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:287:90: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m256i mask = _mm256_setr_epi16(0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000,
                               ~~~~~~~~~~~~~~~~~                                         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:287:82: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m256i mask = _mm256_setr_epi16(0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000,
                               ~~~~~~~~~~~~~~~~~                                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:287:66: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m256i mask = _mm256_setr_epi16(0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000,
                               ~~~~~~~~~~~~~~~~~                 ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:287:58: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m256i mask = _mm256_setr_epi16(0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000,
                               ~~~~~~~~~~~~~~~~~         ^~~~~~
/home/user/xsimd/include/xsimd/arch/./xsimd_avx2.hpp:287:50: warning: implicit conversion changes signedness: 'int' to 'short' [-Wsign-conversion]
                __m256i mask = _mm256_setr_epi16(0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000,
                               ~~~~~~~~~~~~~~~~~ ^~~~~~
In file included from /home/user/xsimd/benchmark/main.cpp:12:
In file included from /home/user/xsimd/benchmark/xsimd_benchmark.hpp:16:
In file included from /home/user/xsimd/include/xsimd/xsimd.hpp:29:
In file included from /home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:384:
In file included from /home/user/xsimd/include/xsimd/config/../types/../arch/xsimd_isa.hpp:80:
In file included from /home/user/xsimd/include/xsimd/arch/./xsimd_generic.hpp:18:
/home/user/xsimd/include/xsimd/arch/./generic/xsimd_generic_math.hpp:1614:64: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
            hibits &= ::xsimd::bitwise_cast<batch_type>(i_type(0xfffff000));
                                                        ~~~~~~ ^~~~~~~~~~
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:1154:24: note: in instantiation of function template specialization 'xsimd::kernel::log10<xsimd::fma3<xsimd::avx2>>' requested here
        return kernel::log10<A>(x, A {});
                       ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:492:24: note: in instantiation of function template specialization 'xsimd::log10<float, xsimd::fma3<xsimd::avx2>>' requested here
    DEFINE_FUNCTOR_1OP(log10);
                       ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:144:26: note: in instantiation of function template specialization 'xsimd::log10_fn::operator()<xsimd::batch<float>>' requested here
                B bres = f(blhs);
                         ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:340:40: note: in instantiation of function template specialization 'xsimd::benchmark_simd<xsimd::batch<float>, xsimd::log10_fn, std::vector<float, xsimd::aligned_allocator<float, 32>>>' requested here
        duration_type t_float_vector = benchmark_simd<batch<float>>(f, f_lhs, f_res, iter);
                                       ^
/home/user/xsimd/benchmark/main.cpp:33:12: note: in instantiation of function template specialization 'xsimd::run_benchmark_1op<xsimd::log10_fn, std::basic_ostream<char>>' requested here
    xsimd::run_benchmark_1op(xsimd::log10_fn(), std::cout, size, 1000);
           ^
In file included from /home/user/xsimd/benchmark/main.cpp:12:
In file included from /home/user/xsimd/benchmark/xsimd_benchmark.hpp:16:
In file included from /home/user/xsimd/include/xsimd/xsimd.hpp:29:
In file included from /home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:384:
In file included from /home/user/xsimd/include/xsimd/config/../types/../arch/xsimd_isa.hpp:48:
/home/user/xsimd/include/xsimd/arch/./xsimd_avx.hpp:893:78: warning: implicit conversion changes signedness: 'unsigned int' to 'int' [-Wsign-conversion]
            return _mm256_xor_ps(self, _mm256_castsi256_ps(_mm256_set1_epi32(0x80000000)));
                                                           ~~~~~~~~~~~~~~~~~ ^~~~~~~~~~
/home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:712:24: note: in instantiation of function template specialization 'xsimd::kernel::neg<xsimd::fma3<xsimd::avx2>>' requested here
        return kernel::neg<A>(*this, A {});
                       ^
/home/user/xsimd/include/xsimd/arch/./generic/xsimd_generic_trigo.hpp:433:40: note: in instantiation of member function 'xsimd::batch<float>::operator-' requested here
                return select(test, y, -batch_type(1.) / y);
                                       ^
/home/user/xsimd/include/xsimd/arch/./generic/xsimd_generic_trigo.hpp:835:42: note: in instantiation of function template specialization 'xsimd::kernel::detail::tan_eval<xsimd::fma3<xsimd::avx2>, xsimd::batch_bool<float, xsimd::fma3<xsimd::avx2>>>' requested here
            const batch_type y = detail::tan_eval(xr, test);
                                         ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:1779:24: note: in instantiation of function template specialization 'xsimd::kernel::tan<xsimd::fma3<xsimd::avx2>, float>' requested here
        return kernel::tan<A>(x, A {});
                       ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:498:24: note: in instantiation of function template specialization 'xsimd::tan<float, xsimd::fma3<xsimd::avx2>>' requested here
    DEFINE_FUNCTOR_1OP(tan);
                       ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:144:26: note: in instantiation of function template specialization 'xsimd::tan_fn::operator()<xsimd::batch<float>>' requested here
                B bres = f(blhs);
                         ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:340:40: note: in instantiation of function template specialization 'xsimd::benchmark_simd<xsimd::batch<float>, xsimd::tan_fn, std::vector<float, xsimd::aligned_allocator<float, 32>>>' requested here
        duration_type t_float_vector = benchmark_simd<batch<float>>(f, f_lhs, f_res, iter);
                                       ^
/home/user/xsimd/benchmark/main.cpp:42:12: note: in instantiation of function template specialization 'xsimd::run_benchmark_1op<xsimd::tan_fn, std::basic_ostream<char>>' requested here
    xsimd::run_benchmark_1op(xsimd::tan_fn(), std::cout, size, 1000);
           ^
In file included from /home/user/xsimd/benchmark/main.cpp:12:
In file included from /home/user/xsimd/benchmark/xsimd_benchmark.hpp:16:
In file included from /home/user/xsimd/include/xsimd/xsimd.hpp:29:
In file included from /home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:384:
In file included from /home/user/xsimd/include/xsimd/config/../types/../arch/xsimd_isa.hpp:48:
/home/user/xsimd/include/xsimd/arch/./xsimd_avx.hpp:898:79: warning: implicit conversion changes signedness: 'unsigned long' to 'long long' [-Wsign-conversion]
            return _mm256_xor_pd(self, _mm256_castsi256_pd(_mm256_set1_epi64x(0x8000000000000000)));
                                                           ~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~
/home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:712:24: note: in instantiation of function template specialization 'xsimd::kernel::neg<xsimd::fma3<xsimd::avx2>>' requested here
        return kernel::neg<A>(*this, A {});
                       ^
/home/user/xsimd/include/xsimd/arch/./generic/xsimd_generic_trigo.hpp:504:40: note: in instantiation of member function 'xsimd::batch<double>::operator-' requested here
                return select(test, y, -batch_type(1.) / y);
                                       ^
/home/user/xsimd/include/xsimd/arch/./generic/xsimd_generic_trigo.hpp:835:42: note: in instantiation of function template specialization 'xsimd::kernel::detail::tan_eval<xsimd::fma3<xsimd::avx2>, xsimd::batch_bool<double, xsimd::fma3<xsimd::avx2>>>' requested here
            const batch_type y = detail::tan_eval(xr, test);
                                         ^
/home/user/xsimd/include/xsimd/types/xsimd_api.hpp:1779:24: note: in instantiation of function template specialization 'xsimd::kernel::tan<xsimd::fma3<xsimd::avx2>, double>' requested here
        return kernel::tan<A>(x, A {});
                       ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:498:24: note: in instantiation of function template specialization 'xsimd::tan<double, xsimd::fma3<xsimd::avx2>>' requested here
    DEFINE_FUNCTOR_1OP(tan);
                       ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:144:26: note: in instantiation of function template specialization 'xsimd::tan_fn::operator()<xsimd::batch<double>>' requested here
                B bres = f(blhs);
                         ^
/home/user/xsimd/benchmark/xsimd_benchmark.hpp:343:41: note: in instantiation of function template specialization 'xsimd::benchmark_simd<xsimd::batch<double>, xsimd::tan_fn, std::vector<double, xsimd::aligned_allocator<double, 32>>>' requested here
        duration_type t_double_vector = benchmark_simd<batch<double>>(f, d_lhs, d_res, iter);
                                        ^
/home/user/xsimd/benchmark/main.cpp:42:12: note: in instantiation of function template specialization 'xsimd::run_benchmark_1op<xsimd::tan_fn, std::basic_ostream<char>>' requested here
    xsimd::run_benchmark_1op(xsimd::tan_fn(), std::cout, size, 1000);
           ^
81 warnings generated.

@serge-sans-paille
Copy link
Contributor

I second that opinion. We should be compatible with C++14/17/20 while keeping C++11 support.

@emmenlau
Copy link
Contributor Author

Since #703 has been merged, the swizzle ambiguity is solved, nice work @serge-sans-paille (and @JohanMabille ).

@emmenlau
Copy link
Contributor Author

Now with current master I get a new error in the mandelbrot example:

FAILED: examples/CMakeFiles/mandelbrot.dir/mandelbrot.cpp.o 
/data/user/Tools/lib/ccache/clang++  -I/home/user/xsimd/include -DDEBUG  -march=skylake -std=c++20 -glldb -fno-omit-frame-pointer -O0 -ftime-trace -O3 -march=native -mtune=native -std=c++14 -g -fPIE -std=c++20 -MD -MT examples/CMakeFiles/mandelbrot.dir/mandelbrot.cpp.o -MF examples/CMakeFiles/mandelbrot.dir/mandelbrot.cpp.o.d -o examples/CMakeFiles/mandelbrot.dir/mandelbrot.cpp.o -c /home/user/xsimd/examples/mandelbrot.cpp
/home/user/xsimd/examples/mandelbrot.cpp:280:9: warning: expression result unused [-Wunused-value]
        expand_type { (run_arch<Arch>(bencher, x0, y0, x1, x1, width, height, maxIters, buffer), 0)... };
        ^           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/user/xsimd/examples/mandelbrot.cpp:330:51: note: in instantiation of function template specialization 'run_archlist<xsimd::arch_list<xsimd::fma3<xsimd::avx2>, xsimd::avx2, xsimd::fma3<xsimd::avx>, xsimd::avx, xsimd::sse4_2, xsimd::sse4_1, xsimd::ssse3, xsimd::sse3, xsimd::sse2>>::run<pico_bench::Benchmarker<std::chrono::duration<long, std::ratio<1, 1000>>>>' requested here
    run_archlist<xsimd::supported_architectures>::run(bencher, x0, y0, x1, y1, width, height, maxIters, buf);
                                                  ^
/home/user/xsimd/examples/mandelbrot.cpp:129:42: error: attempt to use a deleted function
                int_batch_type prev_data(output + base_index);
                                         ^
/home/user/xsimd/examples/mandelbrot.cpp:249:35: note: in instantiation of function template specialization 'xsimd::mandelbrot<xsimd::fma3<xsimd::avx2>>' requested here
                         { xsimd::mandelbrot<arch>(x0, y0, x1, y1, width, height, maxIters, buffer.data()); });
                                  ^
/home/user/xsimd/examples/mandelbrot.cpp:280:24: note: in instantiation of function template specialization 'run_arch<xsimd::fma3<xsimd::avx2>, pico_bench::Benchmarker<std::chrono::duration<long, std::ratio<1, 1000>>>>' requested here
        expand_type { (run_arch<Arch>(bencher, x0, y0, x1, x1, width, height, maxIters, buffer), 0)... };
                       ^
/home/user/xsimd/examples/mandelbrot.cpp:330:51: note: in instantiation of function template specialization 'run_archlist<xsimd::arch_list<xsimd::fma3<xsimd::avx2>, xsimd::avx2, xsimd::fma3<xsimd::avx>, xsimd::avx, xsimd::sse4_2, xsimd::sse4_1, xsimd::ssse3, xsimd::sse3, xsimd::sse2>>::run<pico_bench::Benchmarker<std::chrono::duration<long, std::ratio<1, 1000>>>>' requested here
    run_archlist<xsimd::supported_architectures>::run(bencher, x0, y0, x1, y1, width, height, maxIters, buf);
                                                  ^
/home/user/xsimd/include/xsimd/config/../types/../types/xsimd_batch.hpp:221:9: note: 'batch_bool<int>' has been explicitly marked deleted here
        batch_bool(Tp const*) = delete;
        ^

@emmenlau
Copy link
Contributor Author

Actually both of my original build issues have been resolved, thanks a million @serge-sans-paille , I get a working c++20 build now. Fixing this issue as solved, and will open a new one for the mandelbrot example.

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