#1142428 _multiarray_umath.cpython-314-x86_64-linux-gnu.so requires SSE4.1 (pinsrq) on amd64

Package:
python3-numpy
Source:
python3-numpy
Description:
Fast array facility to the Python 3 language
Submitter:
Jakob Haufe
Date:
2026-07-21 00:41:02 UTC
Severity:
normal
#1142428#5
Date:
2026-07-19 19:38:44 UTC
From:
To:
Found while trying to run binwalk on an AMD Athlon II X4 605e.

Reproducer
==========

$ python3.14 -c 'import numpy'
Illegal instruction        (core dumped) python3.14 -c 'import numpy'

$ python3.13 -c 'import numpy'
Illegal instruction        (core dumped) python3.13 -c 'import numpy'


dmesg
=====

[184905.408241] traps: python3.14[460732] trap invalid opcode ip:7f5053e2cf7f sp:7ffd9be970f0 error:0 in _multiarray_umath.cpython-314-x86_64-linux-gnu.so[2cf7f,7f5053e2a000+6f5000]
[184974.953226] traps: python3.13[460776] trap invalid opcode ip:7f8d88c2cf3f sp:7ffe523dd890 error:0 in _multiarray_umath.cpython-313-x86_64-linux-gnu.so[2cf3f,7f8d88c2a000+6f5000]


gdb for 3.14
============

#0  0x00007f5053e2cf7f in __static_initialization_and_destruction_0 () at ../../../numpy/_core/src/multiarray/unique.cpp:527

⚠️ warning: 527	../../../numpy/_core/src/multiarray/unique.cpp: No such file or directory
[Current thread is 1 (Thread 0x7f5054edf200 (LWP 460732))]
(gdb) disassemble
Dump of assembler code for function __static_initialization_and_destruction_0():
Address range 0x7f5053e2cf20 to 0x7f5053e2d66f:
[...]
=> 0x00007f5053e2cf7f <+95>:	pinsrq $0x1,0x878eee(%rip),%xmm0        # 0x7f50546a5e78


gdb for 3.13
============

#0  0x00007f8d88c2cf3f in __static_initialization_and_destruction_0 () at ../../../numpy/_core/src/multiarray/unique.cpp:527

⚠️ warning: 527	../../../numpy/_core/src/multiarray/unique.cpp: No such file or directory
[Current thread is 1 (Thread 0x7f8d89cce200 (LWP 460776))]
(gdb) disassemble
Dump of assembler code for function __static_initialization_and_destruction_0():
Address range 0x7f8d88c2cee0 to 0x7f8d88c2d62f:
[...]
=> 0x00007f8d88c2cf3f <+95>:	pinsrq $0x1,0x878f2e(%rip),%xmm0        # 0x7f8d894a5e78



lspcu
=====

Architecture:                x86_64
  CPU op-mode(s):            32-bit, 64-bit
  Address sizes:             48 bits physical, 48 bits virtual
  Byte Order:                Little Endian
CPU(s):                      4
  On-line CPU(s) list:       0-3
Vendor ID:                   AuthenticAMD
  Model name:                AMD Athlon(tm) II X4 605e Processor
    CPU family:              16
    Model:                   5
    Thread(s) per core:      1
    Core(s) per socket:      4
    Socket(s):               1
    Stepping:                2
    Microcode version:       0x10000db
    CPU(s) scaling MHz:      35%
    CPU max MHz:             2300,0000
    CPU min MHz:             800,0000
    BogoMIPS:                4620,56
    Flags:                   fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid pni monitor cx16 popcnt la
                             hf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt hw_pstate vmmcall npt lbrv svm_lock nrip_save
Virtualization features:
  Virtualization:            AMD-V
Caches (sum of all):
  L1d:                       256 KiB (4 instances)
  L1i:                       256 KiB (4 instances)
  L2:                        2 MiB (4 instances)
NUMA:
  NUMA node(s):              1
  NUMA node0 CPU(s):         0-3
Vulnerabilities:
  Gather data sampling:      Not affected
  Ghostwrite:                Not affected
  Indirect target selection: Not affected
  Itlb multihit:             Not affected
  L1tf:                      Not affected
  Mds:                       Not affected
  Meltdown:                  Not affected
  Mmio stale data:           Not affected
  Old microcode:             Not affected
  Reg file data sampling:    Not affected
  Retbleed:                  Not affected
  Spec rstack overflow:      Not affected
  Spec store bypass:         Not affected
  Spectre v1:                Mitigation; usercopy/swapgs barriers and __user pointer sanitization
  Spectre v2:                Mitigation; Retpolines; STIBP disabled; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected
  Srbds:                     Not affected
  Tsa:                       Not affected
  Tsx async abort:           Not affected
  Vmscape:                   Not affected

#1142428#10
Date:
2026-07-20 23:43:03 UTC
From:
To:
[snip]

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.

#1142428#15
Date:
2026-07-20 23:43:03 UTC
From:
To:
[snip]

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.

#1142428#20
Date:
2026-07-20 23:57:43 UTC
From:
To:
Building numpy on my machine I see:
#1142428#25
Date:
2026-07-20 23:57:43 UTC
From:
To:
Building numpy on my machine I see: