-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add portable simd (core::simd) implementation #83
Conversation
0c29ff5
to
9dabd18
Compare
9dabd18
to
4853446
Compare
@Licenser Sorry for being unresponsive for the last year. Now I am finally picking up on this. I hope you don't mind me fixing it up a bit before merging. |
Hey, no worries, I've been doing OSS for long enough to have all the understanding in the world for things taking time :) |
Signed-off-by: Heinz N. Gies <[email protected]>
33559d8
to
7f72048
Compare
# Conflicts: # src/implementation/mod.rs # tests/tests.rs
This reverts commit c01f0a7.
…able_override features
@Licenser Using a 128-bit wide portable simd implementation is only a few percent slower on ARM64 than the implementation using native intrinsics: |
That's pretty neat! |
@Licenser I will be merging this but I might create an experimental |
This adds experimental 128- and 256-bit
core::simd
(rusts portable simd) implementations. Since portable simd is a nightly-only feature, it is guarded behind theportable_public_imp
feature flag. The implementations are accessible via thesimdutf8::basic::imp::portable::simd128
andsimdutf8::basic::imp::portable::simd256
modules.