xsimd
xsimd copied to clipboard
Tests fail to build on AArch64 with ENABLE_XTL_COMPLEX
Building the tests on AArch64 with the ENABLE_XTL_COMPLEX
option enabled doesn't work for me:
$ cmake .. -DCMAKE_TOOLCHAIN_FILE=<path to toolchain> -DBUILD_TESTS=ON -DENABLE_XTL_COMPLEX=ON -DDOWNLOAD_GTEST=ON -DTARGET_ARCH=armv8-a -G Ninja
$ ninja
./include/xsimd/types/xsimd_neon_complex.hpp: At global scope:
../include/xsimd/types/xsimd_neon_complex.hpp:369:15: error: ‘template<class X> class xsimd::simd_complex_batch_bool’ used without template arguments
369 | using simd_complex_batch_bool::simd_complex_batch_bool;
| ^~~~~~~~~~~~~~~~~~~~~~~
../include/xsimd/types/xsimd_neon_complex.hpp: In constructor ‘xsimd::batch_bool<xtl::xcomplex<float, float, i3ec>, 4>::batch_bool(bool, bool, bool, bool)’:
../include/xsimd/types/xsimd_neon_complex.hpp:374:15: error: class ‘xsimd::batch_bool<xtl::xcomplex<float, float, i3ec>, 4>’ does not have any field named ‘simd_complex_batch_bool’
374 | : simd_complex_batch_bool(real_batch(b0, b1, b2, b3))
| ^~~~~~~~~~~~~~~~~~~~~~~
../include/xsimd/types/xsimd_neon_complex.hpp: At global scope:
../include/xsimd/types/xsimd_neon_complex.hpp:410:26: error: type ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>::base_type’ is not a base type for type ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>’
410 | using base_type::base_type;
| ^~~~~~~~~
../include/xsimd/types/xsimd_neon_complex.hpp:419:26: error: type ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>::base_type’ is not a base type for type ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>’
419 | using base_type::load_aligned;
| ^~~~~~~~~~~~
../include/xsimd/types/xsimd_neon_complex.hpp:420:26: error: type ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>::base_type’ is not a base type for type ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>’
420 | using base_type::load_unaligned;
| ^~~~~~~~~~~~~~
../include/xsimd/types/xsimd_neon_complex.hpp:421:26: error: type ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>::base_type’ is not a base type for type ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>’
421 | using base_type::store_aligned;
| ^~~~~~~~~~~~~
../include/xsimd/types/xsimd_neon_complex.hpp:422:26: error: type ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>::base_type’ is not a base type for type ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>’
422 | using base_type::store_unaligned;
| ^~~~~~~~~~~~~~~
../include/xsimd/types/xsimd_neon_complex.hpp:442:17: error: no declaration matches ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>::self_type& xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>::load_aligned(const value_type*)’
442 | inline auto batch<xtl::xcomplex<float, float, i3ec>, 4>::load_aligned(const value_type* src) -> self_type&
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../include/xsimd/types/xsimd_neon_complex.hpp:427:20: note: candidates are: ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>::self_type& xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>::load_aligned(const std::complex<double>*)’
427 | self_type& load_aligned(const std::complex<double>* src);
| ^~~~~~~~~~~~
../include/xsimd/types/xsimd_neon_complex.hpp:424:20: note: ‘xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>::self_type& xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>::load_aligned(const std::complex<float>*)’
424 | self_type& load_aligned(const std::complex<float>* src);
| ^~~~~~~~~~~~
../include/xsimd/types/xsimd_neon_complex.hpp:399:11: note: ‘class xsimd::batch<xtl::xcomplex<float, float, i3ec>, 4>’ defined here
399 | class batch<xtl::xcomplex<float, float, i3ec>, 4>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[lots more errors trimmed]
I'm using ARM's cross GCC 9.2.1 compiler and xsimd 7.4.9