Skip to content

Commit 2ab87e8

Browse files
pthariensflameAmanieu
authored andcommitted
Darwin AArch64 detection update
Synchronizes the lists of detectable features with macOS 15.5 “Sequoia” as of June 9, 2025.
1 parent a3df9a1 commit 2ab87e8

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ pub(crate) fn detect_features() -> cache::Initializer {
4848
let aes = _sysctlbyname(c"hw.optional.arm.FEAT_AES");
4949
let bf16 = _sysctlbyname(c"hw.optional.arm.FEAT_BF16");
5050
let bti = _sysctlbyname(c"hw.optional.arm.FEAT_BTI");
51+
let cssc = _sysctlbyname(c"hw.optional.arm.FEAT_CSSC");
5152
let dit = _sysctlbyname(c"hw.optional.arm.FEAT_DIT");
5253
let dpb = _sysctlbyname(c"hw.optional.arm.FEAT_DPB");
5354
let dpb2 = _sysctlbyname(c"hw.optional.arm.FEAT_DPB2");
@@ -59,6 +60,7 @@ pub(crate) fn detect_features() -> cache::Initializer {
5960
let frintts = _sysctlbyname(c"hw.optional.arm.FEAT_FRINTTS");
6061
let flagm = _sysctlbyname(c"hw.optional.arm.FEAT_FlagM");
6162
let flagm2 = _sysctlbyname(c"hw.optional.arm.FEAT_FlagM2");
63+
let hbc = _sysctlbyname(c"hw.optional.arm.FEAT_HBC");
6264
let i8mm = _sysctlbyname(c"hw.optional.arm.FEAT_I8MM");
6365
let jsconv = _sysctlbyname(c"hw.optional.arm.FEAT_JSCVT");
6466
let rcpc = _sysctlbyname(c"hw.optional.arm.FEAT_LRCPC");
@@ -87,10 +89,14 @@ pub(crate) fn detect_features() -> cache::Initializer {
8789
let afp = _sysctlbyname(c"hw.optional.arm.FEAT_AFP");
8890
let csv2 = _sysctlbyname(c"hw.optional.arm.FEAT_CSV2");
8991
let csv3 = _sysctlbyname(c"hw.optional.arm.FEAT_CSV3");
92+
let ebf16 = _sysctlbyname(c"hw.optional.arm.FEAT_EBF16");
9093
let fpac = _sysctlbyname(c"hw.optional.arm.FEAT_FPAC");
94+
let fpaccombine = _sysctlbyname(c"hw.optional.arm.FEAT_FPACCOMBINE");
95+
let pacimp = _sysctlbyname(c"hw.optional.arm.FEAT_PACIMP");
9196
let pauth2 = _sysctlbyname(c"hw.optional.arm.FEAT_PAuth2");
9297
let rpres = _sysctlbyname(c"hw.optional.arm.FEAT_RPRES");
9398
let specres = _sysctlbyname(c"hw.optional.arm.FEAT_SPECRES");
99+
let specres2 = _sysctlbyname(c"hw.optional.arm.FEAT_SPECRES2");
94100
*/
95101

96102
// The following "features" are reported by `sysctl` but are mandatory parts
@@ -111,6 +117,7 @@ pub(crate) fn detect_features() -> cache::Initializer {
111117
enable_feature(Feature::bf16, bf16);
112118
enable_feature(Feature::bti, bti);
113119
enable_feature(Feature::crc, crc);
120+
enable_feature(Feature::cssc, cssc);
114121
enable_feature(Feature::dit, dit);
115122
enable_feature(Feature::dotprod, dotprod);
116123
enable_feature(Feature::dpb, dpb);
@@ -123,6 +130,7 @@ pub(crate) fn detect_features() -> cache::Initializer {
123130
enable_feature(Feature::fp, fp);
124131
enable_feature(Feature::fp16, fp16);
125132
enable_feature(Feature::frintts, frintts);
133+
enable_feature(Feature::hbc, hbc);
126134
enable_feature(Feature::i8mm, i8mm);
127135
enable_feature(Feature::jsconv, jsconv);
128136
enable_feature(Feature::lse, lse);

0 commit comments

Comments
 (0)