-
Notifications
You must be signed in to change notification settings - Fork 13.2k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Stabilise aarch64_target_feature
#90620
Labels
O-AArch64
Armv8-A or later processors in AArch64 mode
Comments
This was referenced Nov 5, 2021
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Feb 19, 2022
…ature, r=Amanieu Stabilise `aarch64_target_feature` Draft stabilisation PR - rust-lang#90620
matthiaskrgr
added a commit
to matthiaskrgr/rust
that referenced
this issue
Mar 14, 2022
…ature, r=Amanieu Stabilise `aarch64_target_feature` This PR stabilises `aarch64_target_feature` - see rust-lang#90620
tarcieri
added a commit
to RustCrypto/block-ciphers
that referenced
this issue
Aug 25, 2022
It's been stabilized: rust-lang/rust#90620 Because of that, it's breaking the build on recent nightlies: https://github.com/RustCrypto/block-ciphers/runs/7968517726?check_suite_focus=true#step:7:103 > error: the feature `aarch64_target_feature` has been stable since > 1.61.0 and no longer requires an attribute to enable
tarcieri
added a commit
to RustCrypto/block-ciphers
that referenced
this issue
Aug 25, 2022
It's been stabilized: rust-lang/rust#90620 Because of that, it's breaking the build on recent nightlies: https://github.com/RustCrypto/block-ciphers/runs/7968517726?check_suite_focus=true#step:7:103 > error: the feature `aarch64_target_feature` has been stable since > 1.61.0 and no longer requires an attribute to enable
tarcieri
added a commit
to RustCrypto/block-ciphers
that referenced
this issue
Aug 25, 2022
It's been stabilized: rust-lang/rust#90620 Because of that, it's breaking the build on recent nightlies: https://github.com/RustCrypto/block-ciphers/runs/7968517726?check_suite_focus=true#step:7:103 > error: the feature `aarch64_target_feature` has been stable since > 1.61.0 and no longer requires an attribute to enable aes: remove use of `aarch64_target_feature` It's been stabilized: rust-lang/rust#90620 Because of that, it's breaking the build on recent nightlies: https://github.com/RustCrypto/block-ciphers/runs/7968517726?check_suite_focus=true#step:7:103 > error: the feature `aarch64_target_feature` has been stable since > 1.61.0 and no longer requires an attribute to enable
tarcieri
added a commit
to RustCrypto/block-ciphers
that referenced
this issue
Aug 25, 2022
It's been stabilized: rust-lang/rust#90620 Because of that, it's breaking the build on recent nightlies: https://github.com/RustCrypto/block-ciphers/runs/7968517726?check_suite_focus=true#step:7:103 > error: the feature `aarch64_target_feature` has been stable since > 1.61.0 and no longer requires an attribute to enable aes: remove use of `aarch64_target_feature` It's been stabilized: rust-lang/rust#90620 Because of that, it's breaking the build on recent nightlies: https://github.com/RustCrypto/block-ciphers/runs/7968517726?check_suite_focus=true#step:7:103 > error: the feature `aarch64_target_feature` has been stable since > 1.61.0 and no longer requires an attribute to enable
tarcieri
added a commit
to RustCrypto/block-ciphers
that referenced
this issue
Aug 25, 2022
It's been stabilized: rust-lang/rust#90620 Because of that, it's breaking the build on recent nightlies: https://github.com/RustCrypto/block-ciphers/runs/7968517726?check_suite_focus=true#step:7:103 > error: the feature `aarch64_target_feature` has been stable since > 1.61.0 and no longer requires an attribute to enable aes: remove use of `aarch64_target_feature` It's been stabilized: rust-lang/rust#90620 Because of that, it's breaking the build on recent nightlies: https://github.com/RustCrypto/block-ciphers/runs/7968517726?check_suite_focus=true#step:7:103 > error: the feature `aarch64_target_feature` has been stable since > 1.61.0 and no longer requires an attribute to enable
tarcieri
added a commit
to RustCrypto/block-ciphers
that referenced
this issue
Aug 25, 2022
It's been stabilized: rust-lang/rust#90620 Because of that, it's breaking the build on recent nightlies: https://github.com/RustCrypto/block-ciphers/runs/7968517726?check_suite_focus=true#step:7:103 > error: the feature `aarch64_target_feature` has been stable since > 1.61.0 and no longer requires an attribute to enable aes: remove use of `aarch64_target_feature` It's been stabilized: rust-lang/rust#90620 Because of that, it's breaking the build on recent nightlies: https://github.com/RustCrypto/block-ciphers/runs/7968517726?check_suite_focus=true#step:7:103 > error: the feature `aarch64_target_feature` has been stable since > 1.61.0 and no longer requires an attribute to enable
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
This issue constitutes the stabilisation report as per the rustc dev guide. Tracking issue: #44839
This came about as a result of the discussion on stabilising the aarch64 runtime feature detection macro: #86941
Stabilisation PR: #90621
Summary
Along with
std::is_aarch64_feature_detected!
, we'd like to stabiliseaarch64_target_feature
. This allows using thetarget_feature
attribute on aarch64 platforms like such:This allows for unconditional code generation - the above function will be compiled as if assumed to only run on hosts that support the
neon
feature.Note that this differs from compile-time feature detection (via
cfg!
) and run-time feature detection (via thestd::is_aarch64_feature_detected!
macro).Test cases
There are a variety of x86_64 tests in place testing the behaviour of the
target_feature
attribute. Since this proposal does not change the behaviour oftarget_feature
, only stabilises some of its inputs, I do not believe there's any pressing need to update these tests.Documentation
I've updated the Rust reference: rust-lang/reference#1102
Unresolved questions
It's possible in the future that
PAuth
will have reason to be split into two separate features (paca
andpacg
in Linux'sAT_HWCAP
. If this happens the plan would be to add two newtarget_feature
options and, if necessary, keep PAuth as the combination of the two. It doesn't make sense to pre-emptively separate them before they're separate in LLVM, nor keepPAuth
unstable for an undetermined amount of time.The text was updated successfully, but these errors were encountered: