SIMD and nightly releases question

Hello you all wonderful Rusty People! :slightly_smiling_face:

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?

Thanks

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

Ok, makes a lot of sense to me - thank you.

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.

Gotcha, thanks!

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.