-
Notifications
You must be signed in to change notification settings - Fork 304
Modify the implementation of d_s64 suffix instructions #1167
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
Conversation
|
r? @Amanieu (rust-highfive has picked a reviewer for you, use r? to override) |
|
I think |
| let a: int64x1_t = transmute(a); | ||
| let b: int64x1_t = transmute(b); | ||
| simd_extract(simd_add(a, b), 0) | ||
| a + b |
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.
This should probably use wrapping_add
|
You can reproduce the error in godbolt by adding a test case which uses constant inputs: https://rust.godbolt.org/z/nPq57xxso I can think of 2 ways to fix this:
|
|
Yes, it seems that both i64 and int64x1_t will get the same assembly instructions for |
|
It seems that there is something wrong with Cirrus CI, can we fix it? |
This PR revised the implementation of the d_s64 suffix neon instructions to be consistent with Clang