@@ -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