Bug#1127626: libxsimd-dev: clang errors on ppc64el
Jeffrey Walton
noloader at gmail.com
Tue Feb 10 18:50:33 GMT 2026
On Tue, Feb 10, 2026 at 1:29 PM Drew Parsons <dparsons at emerall.com> wrote:
> On 2026-02-10 18:56, Jeffrey Walton wrote:
> > On Tue, Feb 10, 2026 at 12:37 PM Drew Parsons <dparsons at debian.org>
> > wrote:
> >>
> >> xsimd 14.0.0 tests on ppc64el are passing with gcc 15 but failing
> >> with
> >> clang 21.
> >
> > 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 at gmail.com>) could probably say
> > more about the VSX unit and what flags it requires.
>
>
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-science-maintainers/attachments/20260210/5c040f25/attachment.htm>
More information about the debian-science-maintainers
mailing list