From: dparsons@emerall.com   
      
   On 2026-02-10 18:56, Jeffrey Walton wrote:   
   > On Tue, Feb 10, 2026 at 12:37 PM Drew Parsons    
   > 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 () 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::register_type*>(mem));   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|