@@ -65,7 +65,6 @@ void CONSTRUCTOR_ATTRIBUTE __init_cpu_features(void) {
6565
6666 // https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-isprocessorfeaturepresent
6767 if (IsProcessorFeaturePresent (PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE)) {
68- setCPUFeature (FEAT_AES);
6968 setCPUFeature (FEAT_SHA2);
7069 setCPUFeature (FEAT_PMULL);
7170 }
@@ -81,13 +80,13 @@ void CONSTRUCTOR_ATTRIBUTE __init_cpu_features(void) {
8180 {PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE, FEAT_RCPC},
8281 {PF_ARM_SVE_INSTRUCTIONS_AVAILABLE, FEAT_SVE},
8382 {PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE, FEAT_SVE2},
84- {PF_ARM_SVE_AES_INSTRUCTIONS_AVAILABLE, FEAT_SVE_AES},
85- {PF_ARM_SVE_BF16_INSTRUCTIONS_AVAILABLE, FEAT_SVE_BF16},
86- {PF_ARM_SVE_EBF16_INSTRUCTIONS_AVAILABLE, FEAT_SVE_EBF16},
83+ {PF_ARM_SVE_PMULL128_INSTRUCTIONS_AVAILABLE, FEAT_SVE_PMULL128},
8784 {PF_ARM_SVE_SHA3_INSTRUCTIONS_AVAILABLE, FEAT_SVE_SHA3},
8885 {PF_ARM_SVE_SM4_INSTRUCTIONS_AVAILABLE, FEAT_SVE_SM4},
8986 {PF_ARM_SVE_F32MM_INSTRUCTIONS_AVAILABLE, FEAT_SVE_F32MM},
9087 {PF_ARM_SVE_F64MM_INSTRUCTIONS_AVAILABLE, FEAT_SVE_F64MM},
88+ // There is no I8MM flag, but when SVE_I8MM is available, I8MM is too.
89+ {PF_ARM_SVE_I8MM_INSTRUCTIONS_AVAILABLE, FEAT_I8MM},
9190 };
9291
9392 for (size_t I = 0 , E = sizeof (FeatMap) / sizeof (FeatMap[0 ]); I != E; ++I)
0 commit comments