- Package:
- libxsimd-dev
- Source:
- libxsimd-dev
- Description:
- C++ wrappers for SIMD intrinsics
- Submitter:
- Drew Parsons
- Date:
- 2026-05-03 21:03:01 UTC
- Severity:
- normal
Package: libxsimd-dev Version: 14.0.0-2 Severity: serious Justification: debci X-Debbugs-Cc: debian-powerpc@lists.debian.org User: debian-powerpc@lists.debian.org Usertags: ppc64el Control: forwarded -1 https://github.com/xtensor-stack/xsimd/issues/1257 Control: affects -1 src:llvm-toolchain-21 xsimd 14.0.0 tests on ppc64el are passing with gcc 15 but failing with clang 21. If gcc is fine, is there a clang option we should apply, or should it be consider a bug in clang? 2007s [ 5%] Building CXX object CMakeFiles/test_xsimd.dir/test_api.cpp.o 2007s /usr/bin/clang++ -DXSIMD_ENABLE_XTL_COMPLEX=1 -Wunused-parameter -Wextra -Wreorder -Wshorten-64-to-32 -std=c++17 -g -fPIC -mcpu=native -mtune=native -O3 -DNDEBUG -MD -MT CMakeFiles/test_xsimd.dir/test_api.cpp.o -MF CMakeFiles/test_xsimd.dir/test_api.cpp.o.d -o CMakeFiles/test_xsimd.dir/test_api.cpp.o -c /tmp/autopkgtest-lxc.egz8qg2i/downtmp/build.Yvf/src/test/test_api.cpp 2010s In file included from /tmp/autopkgtest-lxc.egz8qg2i/downtmp/build.Yvf/src/test/test_api.cpp:12: 2010s In file included from /usr/include/xsimd/xsimd.hpp:63: 2010s In file included from /usr/include/xsimd/memory/xsimd_aligned_allocator.hpp:27: 2010s In file included from /usr/include/xsimd/memory/../config/xsimd_arch.hpp:19: 2010s In file included from /usr/include/xsimd/memory/../config/../types/xsimd_all_registers.hpp:51: 2010s /usr/include/xsimd/memory/../config/../types/xsimd_vsx_register.hpp:67:61: error: cannot use 'long' with '__vector bool' 2010s 67 | XSIMD_DECLARE_SIMD_BOOL_VSX_REGISTER(unsigned long, long); 2010s | ^ 2010s /usr/include/xsimd/memory/../config/../types/xsimd_vsx_register.hpp:68:52: error: cannot use 'long' with '__vector bool' 2010s 68 | XSIMD_DECLARE_SIMD_BOOL_VSX_REGISTER(long, long); 2010s | ^ 2010s /usr/include/xsimd/memory/../config/../types/xsimd_vsx_register.hpp:70:54: error: cannot use 'long' with '__vector bool' 2010s 70 | XSIMD_DECLARE_SIMD_BOOL_VSX_REGISTER(double, long); 2010s | ^ ... 1987s In file included from /usr/include/xsimd/xsimd.hpp:77: 1987s In file included from /usr/include/xsimd/types/xsimd_batch.hpp:520: 1987s In file included from /usr/include/xsimd/types/../arch/xsimd_isa.hpp:136: 1987s /usr/include/xsimd/types/../arch/./xsimd_vsx.hpp:429:20: error: no matching function for call to 'vec_ld' 1987s 429 | return vec_ld(0, reinterpret_cast<const typename batch<T, A>::register_type*>(mem)); ... 1987s In file included from /usr/include/xsimd/types/../arch/xsimd_isa.hpp:136: 1987s /usr/include/xsimd/types/../arch/./xsimd_vsx.hpp:752:20: error: no matching function for call to 'vec_st' 1987s 752 | return vec_st(self.data, 0, reinterpret_cast<typename batch<T, A>::register_type*>(mem)); ... 1987s In file included from /usr/include/xsimd/types/../arch/xsimd_isa.hpp:136: 1987s /usr/include/xsimd/types/../arch/./xsimd_vsx.hpp:436:20: error: no matching function for call to 'vec_vsx_ld' 1987s 436 | return vec_vsx_ld(0, (typename batch<T, A>::register_type const*)mem); ... 1987s In file included from /usr/include/xsimd/types/../arch/xsimd_isa.hpp:136: 1987s /usr/include/xsimd/types/../arch/./xsimd_vsx.hpp:335:24: error: call to 'vec_cmpeq' is ambiguous 1987s 335 | auto res = vec_cmpeq(self.data, other.data); ... 1987s In file included from /usr/include/xsimd/types/../arch/xsimd_isa.hpp:136: 1987s /usr/include/xsimd/types/../arch/./xsimd_vsx.hpp:222:20: error: call to 'vec_splats' is ambiguous 1987s 222 | return vec_splats(val); ... 1987s In file included from /usr/include/xsimd/types/../arch/xsimd_isa.hpp:136: 1987s /usr/include/xsimd/types/../arch/./xsimd_vsx.hpp:130:20: error: call to 'vec_and' is ambiguous 1987s 130 | return vec_and(self.data, other.data); ... 1987s In file included from /usr/include/xsimd/types/../arch/xsimd_isa.hpp:136: 1987s /usr/include/xsimd/types/../arch/./xsimd_vsx.hpp:759:20: error: no matching function for call to 'vec_vsx_st' 1987s 759 | return vec_vsx_st(self.data, 0, reinterpret_cast<typename batch<T, A>::register_type*>(mem)); ... 1987s In file included from /usr/include/xsimd/types/../arch/xsimd_isa.hpp:136: 1987s /usr/include/xsimd/types/../arch/./xsimd_vsx.hpp:335:24: error: call to 'vec_cmpeq' is ambiguous 1987s 335 | auto res = vec_cmpeq(self.data, other.data); ... 1988s 19 errors generated. Reported upstream, https://github.com/xtensor-stack/xsimd/issues/1257
If I recall correctly... VSX extensions, like vec_vsx_st, were optional in POWER7 and part of POWER8. My guess is, the problem is `-mcpu=native` while building on a downlevel machine. Instead, the CFLAGS and CXXFLAGS should include `-mcpu=power7 -mvsx` or `-mcpu=power8`. Someone like David Edelsohn (<dje.gcc@gmail.com>) could probably say more about the VSX unit and what flags it requires. Jeff
If I recall correctly... VSX extensions, like vec_vsx_st, were optional in POWER7 and part of POWER8. My guess is, the problem is `-mcpu=native` while building on a downlevel machine. Instead, the CFLAGS and CXXFLAGS should include `-mcpu=power7 -mvsx` or `-mcpu=power8`. Someone like David Edelsohn (<dje.gcc@gmail.com>) could probably say more about the VSX unit and what flags it requires. Jeff
That sounds plausible. But unfortunately it's not so simple as just
removing native
or adding -mcpu=power7 (or power8 or power9, the test machine is POWER9
altivec supported)
Each of the permutation gets the same set of errors, reproducing the
error from the command line:
$ /usr/bin/clang++ -Wunused-parameter -Wextra -Wreorder
-Wshorten-64-to-32 -std=c++11 -g -fPIC -O3 -DNDEBUG -MD -MT
CMakeFiles/test_xsimd.dir/test_api.cpp.o -MF
CMakeFiles/test_xsimd.dir/test_api.cpp.o.d -o
CMakeFiles/test_xsimd.dir/test_api.cpp.o -c
/xsimd/xsimd-14.0.0/test/test_api.cpp 2>&1 | head -n 50
In file included from /xsimd/xsimd-14.0.0/test/test_api.cpp:12:
In file included from /usr/include/xsimd/xsimd.hpp:63:
In file included from
/usr/include/xsimd/memory/xsimd_aligned_allocator.hpp:27:
In file included from
/usr/include/xsimd/memory/../config/xsimd_arch.hpp:19:
In file included from
/usr/include/xsimd/memory/../config/../types/xsimd_all_registers.hpp:51:
/usr/include/xsimd/memory/../config/../types/xsimd_vsx_register.hpp:67:61:
error: cannot use 'long' with '__vector bool'
67 | XSIMD_DECLARE_SIMD_BOOL_VSX_REGISTER(unsigned long,
long);
| ^
/usr/include/xsimd/memory/../config/../types/xsimd_vsx_register.hpp:68:52:
error: cannot use 'long' with '__vector bool'
68 | XSIMD_DECLARE_SIMD_BOOL_VSX_REGISTER(long, long);
| ^
/usr/include/xsimd/memory/../config/../types/xsimd_vsx_register.hpp:70:54:
error: cannot use 'long' with '__vector bool'
70 | XSIMD_DECLARE_SIMD_BOOL_VSX_REGISTER(double, long);
| ^
In file included from /xsimd/xsimd-14.0.0/test/test_api.cpp:12:
In file included from /usr/include/xsimd/xsimd.hpp:77:
In file included from /usr/include/xsimd/types/xsimd_batch.hpp:520:
In file included from
/usr/include/xsimd/types/../arch/xsimd_isa.hpp:136:
/usr/include/xsimd/types/../arch/./xsimd_vsx.hpp:429:20: error: no
matching function for call to 'vec_ld'
429 | return vec_ld(0, reinterpret_cast<const typename
batch<T, A>::register_type*>(mem));
My bad, Drew. I did not look closely at the compile error. Sorry about the extra noise. Jeff
I've worked around the issue by skipping clang tests on ppc64el, so lowering severity. The problem should still be fixed not ignored though.
We believe that the bug you reported is fixed in the latest version of
xsimd, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 1127626@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Drew Parsons <dparsons@debian.org> (supplier of updated xsimd package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Sun, 03 May 2026 18:07:11 +0200
Source: xsimd
Architecture: source
Version: 14.2.0-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
Changed-By: Drew Parsons <dparsons@debian.org>
Closes: 1127626
Changes:
xsimd (14.2.0-1) unstable; urgency=medium
.
* Team upload.
* New upstream release
- applies debian patch fix_arm64_PR1241.patch
* update debian patch clang_ppc64el.patch to upstream PR#1337.
Fixes clang handling of vsx on ppc64el.
debian/tests: reenable clang tests on ppc64el.
Closes: #1127626
* debian patch support_xtl_standards.patch hardcodes the required
CXX standard to match the one (cxx_std_17) required by xtl for
complex number support. Otherwise there is a breaking discrepancy
with the default standard (cxx_std_14) and the installed xsimd
cmake config files if an application does not explicitly request
-DENABLE_XTL_COMPLEX=On. In particular required in
tests/CMakeFiles.txt. See Bug#1135592 (upstream issue#1338)
Checksums-Sha1:
2d8f31020663f9f7a1b3fdd73d561d51a401082b 2228 xsimd_14.2.0-1.dsc
c1d848aec6369c5986725b8b69d3928825b00868 340148 xsimd_14.2.0.orig.tar.gz
56a4c3c30674958b7a25e42cf03a9f906dc98d61 8604 xsimd_14.2.0-1.debian.tar.xz
12ae7a634e9eff5b3c5614270e3073c653d1cac9 10658 xsimd_14.2.0-1_amd64.buildinfo
Checksums-Sha256:
a9cd84bec4d9a1900001522d409d2eb45a115fc415a8509eb94ef78bbb0cdb24 2228 xsimd_14.2.0-1.dsc
597b1d679d7d6e37aeb6379120d896c54549297af1627e4c8da808b85c84af01 340148 xsimd_14.2.0.orig.tar.gz
9fdd7297937cb56eb02625b6bfb0665c0fe009ab71096c342e2272cf3f2ec10d 8604 xsimd_14.2.0-1.debian.tar.xz
e75dfdb52d5cd50c7eece3784827407baa6acae58eac2ae67ca937b0e065204c 10658 xsimd_14.2.0-1_amd64.buildinfo
Files:
89b561f0980ee6fb9af8d0ecea1a81c4 2228 science optional xsimd_14.2.0-1.dsc
797331d7de271a638a0bb32f659d2700 340148 science optional xsimd_14.2.0.orig.tar.gz
213d22faf8b9e01a3c507ad7b7c723aa 8604 science optional xsimd_14.2.0-1.debian.tar.xz
15e956c0aa1e35bc7b2a1715d7fd5b22 10658 science optional xsimd_14.2.0-1_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEI8mpPlhYGekSbQo2Vz7x5L1aAfoFAmn3qdQACgkQVz7x5L1a
AfohSg/+J2v7f6C9S95rZ67F40FSPDP/pDKAjnw00j6tiNkIqW+hTrIiRI90/pDn
2g/U9Tbk8mNQP2+wtue9r6XXNK/hkee45vW9rUiMBu/Ly2DNNdO7TgNvmPUS8ufH
Jz1wmVLoLVGkq/bb1P+YU5euNg5xuL1hqThVOhUlHe2oSwwRuJJ9/B1vNX4npFZj
UOxzXh6uRGAAaa94ZQuGlAwU+1bGjwOd7gT49EjSVoojm0v/bwxiL08tyn/R1++9
FTNDssASHzbGsjASHEy1RynWpoiqoXD0EOAMho3GjNrs0RuLArgmxpfkeonoLyiq
/QQ+QdHo1TEfCOScGsNKtkwLC7wqv+EZr8tD3ASKrzvbk97r/dNEKQT6BtTKes1z
hU2kjMQkhzDri05CgFZK1vUYE8Y8IeT9S64Incyjsf0FtZLJm0wrMqh5Sqg1d2IN
P5a/s3NXR8A3EDiuhB4tI66DJ0CaUvGxIqUkQZm2emajwwl9mlK2DvxkfcQ9stSN
RJxcIL64UADbuQaKYMFlnbDhusJCIpnnXvTcCJv1X1u2XLa4D5b+yrbUOzRW22rF
9eTamRUy8Q4BQIiy0NxxMXGZzOVcyvJpPKzGtMujvlYUNpM7U9+QRAcI7qAgO3+H
Y0TjroA0Hv7+qDbTr6UE8MeKjD9eLnHu0AazsliTQMOinPAOgeo=
=Hxta
-----END PGP SIGNATURE-----