-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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
std::arch does not implement some Neon SIMD intrinsics #75373
Comments
I just now ran into this same exact problem. I was able to get sse/avx version of my code to compile, but not neon. The docs barely cover this topic at all, so I'm just shooting in the dark. |
Yep, SSE and AVX works without issues but Neon refuses to work. |
This comment has been minimized.
This comment has been minimized.
I had a moment to review this issue today in closer detail. vreinterpretq_u32_u16 is not present. In other words, this is not a compiler error, or at least, not the compiler error it is suggested to be. This is merely the absence of very common intrinsics for the ARM platform. |
The "place to go" to implement these instrinsics is rust-lang/stdarch/issues/148 |
This example compiles now. I am assuming all the intrinsics were implemented, and probably any need for further intrinsic requests can go to stdarch? I am closing this. I think it's fine to reopen if you can find anything missing, though! |
I tried this code:
Godbolt: https://godbolt.org/z/1no41v
I expected to see this happen: Intrinsics found without compile errors
Instead, this happened: Compile errors about Neon functions and types not found. I was able to reproduce this same issue on a Raspberry Pi 3 with a ARM v8 CPU running 32-bit Raspbian. Keep in mind that these intrinsics are supported on ARM v7 and some of them, like
vreinterpretq_u32_u16
are basically just reinterpret casts.Edit: upon closer inspection, I realized that most of the intrinsics I am using are not even supported by Rust. I should still be able to use
vreinterpretq_u32_u16
because it is a part of the Rust STD.Meta
rustc --version --verbose
:Backtrace
cc @gnzlbg
The text was updated successfully, but these errors were encountered: