On Mon, Jul 20, 2026 at 07:43:03PM -0400, wrote: > pinsrq is an SSE4.1 instruction. Debian amd64 is not supposed to require > those, so probably numpy needs to be told explicitly at compile time to > stick with SSE2.
Building numpy on my machine I see: -DNPY_HAVE_X86_V2 -DNPY_HAVE_SSE -DNPY_HAVE_SSE2 -DNPY_HAVE_SSE3 -DNPY_HAVE_SSSE3 -DNPY_HAVE_SSE41 -DNPY_HAVE_SSE42 -DNPY_HAVE_POPCNT -DNPY_HAVE_LAHF -DNPY_HAVE_CX16 -DNPY_HAVE_X86_V3 -DNPY_HAVE_AVX -DNPY_HAVE_AVX2 -DNPY_HAVE_FMA3 -DNPY_HAVE_BMI -DNPY_HAVE_BMI2 -DNPY_HAVE_LZCNT -DNPY_HAVE_F16C -DNPY_HAVE_MOVBE -DNPY_HAVE_X86_V4 -DNPY_HAVE_AVX512F -DNPY_HAVE_AVX512CD -DNPY_HAVE_AVX512VL -DNPY_HAVE_AVX512BW -DNPY_HAVE_AVX512DQ -DNPY_HAVE_AVX512_SKX -DNPY_HAVE_AVX512F_REDUCE -DNPY_HAVE_AVX512BW_MASK -DNPY_HAVE_AVX512DQ_MASK -msse -msse2 -msse3 -mssse3 -msse4.1 -msse4.2 -mpopcnt -msahf -mcx16 -DHWY_WANT_SSE4 -DHWY_DISABLE_PCLMUL_AES -mavx -mavx2 -mfma -mbmi -mbmi2 -mlzcnt -mf16c -mmovbe -mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq -DNPY_MTARGETS_CURRENT=X86_V4 So that looks problematic. Numpy 2.4.0 raised the default baseline to X86_V2 which certainly makes sense for what it is doing. It says you can drop the baseline back to none, although that the older SIMD is no longer being maintained. Not sure what the correct thing to do would be? As it is, it is no longer compatible with x86_64 v1, but if you force it back, you might loose the advantages of all the newer models and you would be using no longer supported code. -- Len Sorensen

