about summary refs log tree commit diff
path: root/library/stdarch/crates/std_detect/src/detect
diff options
context:
space:
mode:
authorLaine Taffin Altman <alexanderaltman@me.com>2025-06-09 15:43:20 -0700
committerAmanieu d'Antras <amanieu@gmail.com>2025-06-09 23:25:18 +0000
commit7c2d2a30501b2115d79c4400f3b55b88314ddb1a (patch)
tree5c6de995e6ead08934119fa563392c9c06593f64 /library/stdarch/crates/std_detect/src/detect
parentf0b25641fb1ce49182bbddc17ae14bd9b3854412 (diff)
downloadrust-7c2d2a30501b2115d79c4400f3b55b88314ddb1a.tar.gz
rust-7c2d2a30501b2115d79c4400f3b55b88314ddb1a.zip
Darwin AArch64 detection update
Synchronizes the lists of detectable features with macOS 15.5 “Sequoia” as of June 9, 2025.
Diffstat (limited to 'library/stdarch/crates/std_detect/src/detect')
-rw-r--r--library/stdarch/crates/std_detect/src/detect/os/darwin/aarch64.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/library/stdarch/crates/std_detect/src/detect/os/darwin/aarch64.rs b/library/stdarch/crates/std_detect/src/detect/os/darwin/aarch64.rs
index 6699a66b1ad..44d921689e5 100644
--- a/library/stdarch/crates/std_detect/src/detect/os/darwin/aarch64.rs
+++ b/library/stdarch/crates/std_detect/src/detect/os/darwin/aarch64.rs
@@ -48,6 +48,7 @@ pub(crate) fn detect_features() -> cache::Initializer {
     let aes = _sysctlbyname(c"hw.optional.arm.FEAT_AES");
     let bf16 = _sysctlbyname(c"hw.optional.arm.FEAT_BF16");
     let bti = _sysctlbyname(c"hw.optional.arm.FEAT_BTI");
+    let cssc = _sysctlbyname(c"hw.optional.arm.FEAT_CSSC");
     let dit = _sysctlbyname(c"hw.optional.arm.FEAT_DIT");
     let dpb = _sysctlbyname(c"hw.optional.arm.FEAT_DPB");
     let dpb2 = _sysctlbyname(c"hw.optional.arm.FEAT_DPB2");
@@ -59,6 +60,7 @@ pub(crate) fn detect_features() -> cache::Initializer {
     let frintts = _sysctlbyname(c"hw.optional.arm.FEAT_FRINTTS");
     let flagm = _sysctlbyname(c"hw.optional.arm.FEAT_FlagM");
     let flagm2 = _sysctlbyname(c"hw.optional.arm.FEAT_FlagM2");
+    let hbc = _sysctlbyname(c"hw.optional.arm.FEAT_HBC");
     let i8mm = _sysctlbyname(c"hw.optional.arm.FEAT_I8MM");
     let jsconv = _sysctlbyname(c"hw.optional.arm.FEAT_JSCVT");
     let rcpc = _sysctlbyname(c"hw.optional.arm.FEAT_LRCPC");
@@ -87,10 +89,14 @@ pub(crate) fn detect_features() -> cache::Initializer {
     let afp = _sysctlbyname(c"hw.optional.arm.FEAT_AFP");
     let csv2 = _sysctlbyname(c"hw.optional.arm.FEAT_CSV2");
     let csv3 = _sysctlbyname(c"hw.optional.arm.FEAT_CSV3");
+    let ebf16 = _sysctlbyname(c"hw.optional.arm.FEAT_EBF16");
     let fpac = _sysctlbyname(c"hw.optional.arm.FEAT_FPAC");
+    let fpaccombine = _sysctlbyname(c"hw.optional.arm.FEAT_FPACCOMBINE");
+    let pacimp = _sysctlbyname(c"hw.optional.arm.FEAT_PACIMP");
     let pauth2 = _sysctlbyname(c"hw.optional.arm.FEAT_PAuth2");
     let rpres = _sysctlbyname(c"hw.optional.arm.FEAT_RPRES");
     let specres = _sysctlbyname(c"hw.optional.arm.FEAT_SPECRES");
+    let specres2 = _sysctlbyname(c"hw.optional.arm.FEAT_SPECRES2");
      */
 
     // The following "features" are reported by `sysctl` but are mandatory parts
@@ -111,6 +117,7 @@ pub(crate) fn detect_features() -> cache::Initializer {
     enable_feature(Feature::bf16, bf16);
     enable_feature(Feature::bti, bti);
     enable_feature(Feature::crc, crc);
+    enable_feature(Feature::cssc, cssc);
     enable_feature(Feature::dit, dit);
     enable_feature(Feature::dotprod, dotprod);
     enable_feature(Feature::dpb, dpb);
@@ -123,6 +130,7 @@ pub(crate) fn detect_features() -> cache::Initializer {
     enable_feature(Feature::fp, fp);
     enable_feature(Feature::fp16, fp16);
     enable_feature(Feature::frintts, frintts);
+    enable_feature(Feature::hbc, hbc);
     enable_feature(Feature::i8mm, i8mm);
     enable_feature(Feature::jsconv, jsconv);
     enable_feature(Feature::lse, lse);