-
Notifications
You must be signed in to change notification settings - Fork 360
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
Support memchr on arm64 too #4191
Comments
Yeah we had a heroic contributor implement a lot of x86 intrinsics. Do you have a list of intrinsics we'd need for this? Is there some place the semantics of these intrinsics are documented? |
I believe https://github.com/BurntSushi/memchr/blob/746182171d2e88600652de3e6768cd8aef77e585/src/vector.rs#L292-L460 has all uses of arm64 vendor intrinsics. So
Several of these are implemented using the same intrinsics as portable-simd and as such likely already supported. For the remaining ones the core::arch doc pages link to the arm documentation which contains their behavior both as english text and in the form of a function implemented in a custom dsl. |
Only |
I can't find such a link at https://doc.rust-lang.org/nightly/core/arch/aarch64/fn.vpmaxq_u8.html ? |
I guess some are missing the link. In any case I've implemented it locally, but I'm getting two weird test failures. |
Miri has implemented all vendor intrinsics needed by the memchr crate on x86. It still misses them for arm64 however.
The text was updated successfully, but these errors were encountered: