Even KISS-er access to intrinsics#214
Conversation
| ( | ||
| $(#[$meta:meta])* | ||
| $vis:vis fn $name:ident( | ||
| $token:ident : $token_ty:ident $(, $arg:ident : $arg_ty:ty)* $(,)? |
There was a problem hiding this comment.
What do you think about optionally accepting a fearless_simd:: prefix before the type here?
This isn't blocking.
There was a problem hiding this comment.
It's not that hard, just a lot of boilerplate: Shnatsel@897f83e
This is a cosmetic issue and I don't really see the point of supporting spelling out the levels like that, so this is not where I'd prefer to spend the complexity budget. I'm happy to reconsider if we have actual user feedback to this effect.
| ) => { | ||
| #[cfg($cfg)] | ||
| $(#[$meta])* | ||
| $vis fn $name( |
There was a problem hiding this comment.
I believe that this outer function should be #[inline(always)] in most cases. But I don't know how that works with the inner function being marked #[inline].
I think this is something which can be tuned. Plus, users can (currently) add their own #[inline(always)], so this isn't blocking.
There was a problem hiding this comment.
I erred on the side of letting users tune the inlining.
I've already hit this in practice when using fearless_simd for PhastFT, and made a PR to reduce the overly aggressive inlining in an unrelated part of fearless_simd: #183
Remove the wrappers for intrinsics inherited from `pulp` now that linebender#214 provides a way to access intrinsics without us having to wrap every single one. Part of linebender#166 Supersedes linebender#209
An even simpler implementation of the concept from #212, thanks to the review feedback by @DJMcNab
Alternative to #108 and #196
Part of #166