Upgrade to fearless_simd v0.7 development state plus PR 300 - #1802
Upgrade to fearless_simd v0.7 development state plus PR 300#1802Shnatsel wants to merge 3 commits into
Conversation
|
NEON benchmarks are looking good as well. |
|
unrelated to this PR, but I couldn't find any discussion to make simd optional feature (no simd types in final binary), is there any? I'm aware of fearless_simd support for disable multiversioning but it doesn't help much for binary-size concerns:
|
|
Have you tried it? I'm pretty sure this should help with binary size, this was one of the main reasons to introduce this. It doesn't remove the tokens, but it should remove all instantiated functions used via the |
Shows the impact of linebender/fearless_simd#300 and other recent changes to fearless_simd
This is performance-neutral on x86 AVX2 on the Ghostscript tiger benchmarks.
AVX-512 is not comparable since main doesn't have AVX-512 support.
The new widen/narrow API is more boilerplate, but can work with hardware-width vectors such as
S::f32sand can widen 512-bit vectors into two 512-bit vectors, which is inexpressible in the API that immediately combines the halves.