I have a question about SIMD support for Rust. I can see for x86_64 there are quite a few intrinsics that are available for stable rust (core::arch::x86_64 - Rust) but in case of Arm or AArch64 they require nightly edition (core::arch::arm - Rust).
Does anybody know why it can't be in stable Rust? What's the work required to make it to stable version?
Nightly features can always be in stable in principle. The thing preventing it is more of a do we want to keep supporting this forever. This requires a high level of confidence that the api is good (or in this case matches the C intrinsics exactly) and won't be a big burden in the future. As for this case many arm intrinsics have only recently been implemented, so there hasn't been much time to find problems with them. https://github.com/rust-lang/stdarch/pulls?q=is%3Apr+is%3Aclosed
Nightly features can always be in stable in principle
Can you please you elaborate a bit on that? (I'm a newbie). Can those features be "plugged in" somehow into stable Rust release or should I try to find nightly release that just works?
I mean that we could technically at any point decide that a nightly feature becomes stable. It is just the case that we often should wait longer to find and fix problems.