simd-pack-256 usage SIGILL's on platforms without AVX2
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Calling one of the functions %make-simd-
It is tempting to dismiss this bug with 'if you don't have AVX2, don't use SIMD', but people that use my SIMD library on such machines keep complaining about this. I attached a patch that replaces the problematic AVX2 instructions with equivalent AVX instructions (But take the patch with a grain of salt, my assembler skills are weak).
== sbcl --version && uname -a ==
SBCL 2.1.4.75-
Linux marcoheisig-desktop 5.8.0-50-generic #56~20.04.1-Ubuntu SMP Mon Apr 12 21:46:35 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
== *features* ==
(ALEXANDRIA:
:ASDF3 :ASDF2 :ASDF :OS-UNIX :NON-BASE-
:GENCGC :64-BIT :ANSI-CL :COMMON-LISP :ELF :IEEE-FLOATING-
:LITTLE-ENDIAN :PACKAGE-
:SB-PACKAGE-LOCKS :SB-THREAD :SB-UNICODE :SBCL :UNIX)
== lscpu ==
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
Address sizes: 48 bits physical, 48 bits virtual
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: AuthenticAMD
CPU family: 21
Model: 1
Model name: AMD FX(tm)-8150 Eight-Core Processor
Stepping: 2
Frequency boost: enabled
CPU MHz: 1410.490
CPU max MHz: 3600,0000
CPU min MHz: 1400,0000
BogoMIPS: 7223.89
Virtualization: AMD-V
L1d cache: 64 KiB
L1i cache: 256 KiB
L2 cache: 8 MiB
L3 cache: 8 MiB
NUMA node0 CPU(s): 0-7
Vulnerability Itlb multihit: Not affected
Vulnerability L1tf: Not affected
Vulnerability Mds: Not affected
Vulnerability Meltdown: Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2: Mitigation; Full AMD retpoline, IBPB conditional, STIBP disabled, RSB filling
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
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 mmx
Changed in sbcl: | |
status: | New → Fix Committed |
Changed in sbcl: | |
status: | Fix Committed → Fix Released |
Intel doesn't recommend mixing integer and float operations. How many machines are there that don't have AVX2 and yet people want to use AVX instructions on them?