Open
Description
LLVM is very far off from properly supporting short-vector floating point math, which basically means that all/most vector math functions get scalarized.
A plan to work around could be:
-
creates to interface with the platform's vector math library:
- libmvec-sys for libm,
- svml-sys for svml,
- etc.
These crates would be optional features of
packed_simd
, and each of them would have their own features that users could configure. Hopefully, these crates already exist, but if they don't we'll have to create them. They should not live inpacked_simd
, they should be their own independent crates since these are generally useful. -
use compile-time feature detection in packed_simd to manually call the implementations in those libraries when available.