-
Notifications
You must be signed in to change notification settings - Fork 287
feat: stabilization for stdarch_arm_crc32 #1573
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
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @Amanieu (or someone else) some time within the next two weeks. |
@@ -58,7 +58,7 @@ use stdarch_test::assert_instr; | |||
#[target_feature(enable = "crc")] | |||
#[cfg_attr(target_arch = "arm", target_feature(enable = "v8"))] | |||
#[cfg_attr(test, assert_instr(crc32b))] | |||
#[unstable(feature = "stdarch_arm_crc32", issue = "117215")] | |||
#[stable(feature = "stdarch_arm_crc32", since = "1.80.0")] |
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.
Since target features for 32-bit ARM are not stabilized yet, we only want to stabilize these on AArch64 for now. You can do this by using cfg_attr
like this:
#[cfg_attr(not(target_arch = "arm"), stable(feature = "stdarch_arm_crc32", since = "1.80.0"))]
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.
Ok just to confirm, I should revert all the #[unstable()]
back to #[stable()]
and add a new line for the
#[cfg_attr(not(target_arch = "arm"), stable(feature = "stdarch_arm_crc32", since = "1.80.0"))]
.
Also do I need to delete any of the #![cfg_attr()]
in the crates/intrinsic-test/src/main.rs file
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.
Right, you actually do need to include both, like this:
#[cfg_attr(target_arch = "arm", unstable(feature = "stdarch_aarch32_crc32", issue = "XXXX"))]
#[cfg_attr(not(target_arch = "arm"), stable(feature = "stdarch_aarch64_crc32", since = "1.80.0"))]
You will need to create a new tracking issue for the stabilization of the intrinsics on 32-bit ARM, blocked on the target features being stabilized.
804455d
to
1e0ac7b
Compare
b4f8dd9
to
62529a9
Compare
Added new PR with suggested change and created a new issue for intrinsics on 32 bit ARM rust-lang/rust#125085 |
Thanks! Now you just need to send a PR to rust-lang/rust to update the library/stdarch submodule. |
rust-lang/stdarch#1573 stabilized the `stdarch_arm_crc32` feature, meaning that it's no longer necessary to enable it to get ARM CRC intrinsics, and doing so in the latest nightlies causes compile errors to happen. Let's get rid of that removed unstable feature and update the documentation accordingly.
rust-lang/stdarch#1573 stabilized the `stdarch_arm_crc32` feature, meaning that it's no longer necessary to enable it to get ARM CRC intrinsics, and doing so in the latest nightlies causes compile errors to happen. Let's get rid of that removed unstable feature and update the documentation accordingly.
Stabilization for CRC32 intrinsics on ARM, for which the FCP has been completed
rust-lang/rust#117215