-
Notifications
You must be signed in to change notification settings - Fork 360
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # 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: