-
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
Implement vpmaxq_u8 on aarch64 #4193
base: master
Are you sure you want to change the base?
Conversation
928a961
to
cc3a305
Compare
Turns out the memchr test failures were because I was accidentally doing signed rather than unsigned comparisons. All tests are passing now. |
Please add a test; you can use the x86 intrinsic tests as template. In particular there should be a Miri test directly checking the signed vs unsigned issue. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rustbot author
Added tests. @rustbot ready |
d4dc18f
to
7aa4a47
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, just a comment nit.
} | ||
|
||
// Used to implement the vpmaxq_u8 function. | ||
// Folding maximum of adjacent pairs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// Folding maximum of adjacent pairs. | |
// Computes the maximum of adjacent pairs; the first half of the output is produced from the first | |
// input, the second half of the output from the second input. |
This is documented in https://developer.arm.com/architectures/instruction-sets/intrinsics/#q=vpmaxq_u8
This makes all memchr tests suite pass when I remove
#[cfg(not(miri))]
from tests.Fixes #4191