-
Notifications
You must be signed in to change notification settings - Fork 269
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 vshl and vshr neon instructions #1111
Conversation
r? @Amanieu (rust-highfive has picked a reviewer for you, use r? to override) |
833c7a6
to
50fb8df
Compare
I used manual implementation in vshrq_n_s8 and vshrq_n_u8, because on the aarch64 architecture, calling
On my x86_64, the result was OK:
But on my aarch64, it got the wrong result:
The strange part is that in this commit, no such error occurred in the CI test. |
☔ The latest upstream changes (presumably 5260eb1) made this pull request unmergeable. Please resolve the merge conflicts. |
Does the incorrect result with |
It only happens on my aarch64. It is all right when running the CI. |
If you can give me a small self-contained test program I can look into this issue. I would prefer if we use |
Here is all my test program. |
This is a bug in LLVM:
It doesn't happen in CI because we build with optimizations enabled. I will open a bug in LLVM for this. |
Thanks for helping! |
Let's just merge it with |
That's all right |
This PR adds vshl, vshl_n, vshll, vshll_high, vshr_n, vshrn, vshrn_high neon instructions.
It makes some modifications to the code generator to generate the correct suffixes.