Skip to content

Commit d49f6a7

Browse files
std_detect Darwin AArch64: synchronize features
Brings the list of checkable features up to date with the initial release of macOS 26 "Tahoe".
1 parent edc87e3 commit d49f6a7

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

library/std_detect/src/detect/os/darwin/aarch64.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ pub(crate) fn detect_features() -> cache::Initializer {
6363
let rcpc2 = _sysctlbyname(c"hw.optional.arm.FEAT_LRCPC2");
6464
let lse = _sysctlbyname(c"hw.optional.arm.FEAT_LSE");
6565
let lse2 = _sysctlbyname(c"hw.optional.arm.FEAT_LSE2");
66+
let mte = _sysctlbyname(c"hw.optional.arm.FEAT_MTE");
67+
let mte2 = _sysctlbyname(c"hw.optional.arm.FEAT_MTE2");
6668
let pauth = _sysctlbyname(c"hw.optional.arm.FEAT_PAuth");
6769
let pmull = _sysctlbyname(c"hw.optional.arm.FEAT_PMULL");
6870
let rdm = _sysctlbyname(c"hw.optional.arm.FEAT_RDM");
@@ -73,6 +75,7 @@ pub(crate) fn detect_features() -> cache::Initializer {
7375
let sha512 = _sysctlbyname(c"hw.optional.arm.FEAT_SHA512");
7476
let sme = _sysctlbyname(c"hw.optional.arm.FEAT_SME");
7577
let sme2 = _sysctlbyname(c"hw.optional.arm.FEAT_SME2");
78+
let sme2p1 = _sysctlbyname(c"hw.optional.arm.FEAT_SME2p1");
7679
let sme_f64f64 = _sysctlbyname(c"hw.optional.arm.FEAT_SME_F64F64");
7780
let sme_i16i64 = _sysctlbyname(c"hw.optional.arm.FEAT_SME_I16I64");
7881
let ssbs = _sysctlbyname(c"hw.optional.arm.FEAT_SSBS");
@@ -88,6 +91,12 @@ pub(crate) fn detect_features() -> cache::Initializer {
8891
let ebf16 = _sysctlbyname(c"hw.optional.arm.FEAT_EBF16");
8992
let fpac = _sysctlbyname(c"hw.optional.arm.FEAT_FPAC");
9093
let fpaccombine = _sysctlbyname(c"hw.optional.arm.FEAT_FPACCOMBINE");
94+
let mte_async = _sysctlbyname(c"hw.optional.arm.FEAT_MTE_ASYNC");
95+
let mte_canonical_tags = _sysctlbyname(c"hw.optional.arm.FEAT_MTE_CANONICAL_TAGS");
96+
let mte_no_address_tags = _sysctlbyname(c"hw.optional.arm.FEAT_MTE_NO_ADDRESS_TAGS");
97+
let mte_store_only = _sysctlbyname(c"hw.optional.arm.FEAT_MTE_STORE_ONLY");
98+
let mte3 = _sysctlbyname(c"hw.optional.arm.FEAT_MTE3");
99+
let mte4 = _sysctlbyname(c"hw.optional.arm.FEAT_MTE4");
91100
let pacimp = _sysctlbyname(c"hw.optional.arm.FEAT_PACIMP");
92101
let pauth2 = _sysctlbyname(c"hw.optional.arm.FEAT_PAuth2");
93102
let rpres = _sysctlbyname(c"hw.optional.arm.FEAT_RPRES");
@@ -131,6 +140,7 @@ pub(crate) fn detect_features() -> cache::Initializer {
131140
enable_feature(Feature::jsconv, jsconv);
132141
enable_feature(Feature::lse, lse);
133142
enable_feature(Feature::lse2, lse2);
143+
enable_feature(Feature::mte, mte && mte2);
134144
enable_feature(Feature::paca, pauth);
135145
enable_feature(Feature::pacg, pauth);
136146
enable_feature(Feature::pmull, aes && pmull);
@@ -142,6 +152,7 @@ pub(crate) fn detect_features() -> cache::Initializer {
142152
enable_feature(Feature::sha3, sha512 && sha3 && asimd);
143153
enable_feature(Feature::sme, sme);
144154
enable_feature(Feature::sme2, sme2);
155+
enable_feature(Feature::sme2p1, sme2p1);
145156
enable_feature(Feature::sme_f64f64, sme_f64f64);
146157
enable_feature(Feature::sme_i16i64, sme_i16i64);
147158
enable_feature(Feature::ssbs, ssbs);

0 commit comments

Comments
 (0)