|
4 | 4 | #include <stdint.h> |
5 | 5 |
|
6 | 6 | #ifndef PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE |
7 | | -#define PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE -1 |
| 7 | +#define PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE 43 |
8 | 8 | #endif |
9 | 9 | #ifndef PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE |
10 | | -#define PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE -1 |
| 10 | +#define PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE 44 |
11 | 11 | #endif |
12 | 12 | #ifndef PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE |
13 | | -#define PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE -1 |
| 13 | +#define PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE 45 |
14 | 14 | #endif |
15 | 15 | #ifndef PF_ARM_SVE_INSTRUCTIONS_AVAILABLE |
16 | | -#define PF_ARM_SVE_INSTRUCTIONS_AVAILABLE -1 |
| 16 | +#define PF_ARM_SVE_INSTRUCTIONS_AVAILABLE 46 |
17 | 17 | #endif |
18 | 18 | #ifndef PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE |
19 | | -#define PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE -1 |
| 19 | +#define PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE 47 |
20 | 20 | #endif |
21 | 21 | #ifndef PF_ARM_SVE_AES_INSTRUCTIONS_AVAILABLE |
22 | | -#define PF_ARM_SVE_AES_INSTRUCTIONS_AVAILABLE -1 |
| 22 | +#define PF_ARM_SVE_AES_INSTRUCTIONS_AVAILABLE 49 |
23 | 23 | #endif |
24 | 24 | #ifndef PF_ARM_SVE_PMULL128_INSTRUCTIONS_AVAILABLE |
25 | | -#define PF_ARM_SVE_PMULL128_INSTRUCTIONS_AVAILABLE -1 |
| 25 | +#define PF_ARM_SVE_PMULL128_INSTRUCTIONS_AVAILABLE 50 |
26 | 26 | #endif |
27 | 27 | #ifndef PF_ARM_SVE_BITPERM_INSTRUCTIONS_AVAILABLE |
28 | | -#define PF_ARM_SVE_BITPERM_INSTRUCTIONS_AVAILABLE -1 |
| 28 | +#define PF_ARM_SVE_BITPERM_INSTRUCTIONS_AVAILABLE 51 |
29 | 29 | #endif |
30 | 30 | #ifndef PF_ARM_SVE_BF16_INSTRUCTIONS_AVAILABLE |
31 | | -#define PF_ARM_SVE_BF16_INSTRUCTIONS_AVAILABLE -1 |
| 31 | +#define PF_ARM_SVE_BF16_INSTRUCTIONS_AVAILABLE 52 |
32 | 32 | #endif |
33 | 33 | #ifndef PF_ARM_SVE_EBF16_INSTRUCTIONS_AVAILABLE |
34 | | -#define PF_ARM_SVE_EBF16_INSTRUCTIONS_AVAILABLE -1 |
| 34 | +#define PF_ARM_SVE_EBF16_INSTRUCTIONS_AVAILABLE 53 |
35 | 35 | #endif |
36 | 36 | #ifndef PF_ARM_SVE_SHA3_INSTRUCTIONS_AVAILABLE |
37 | | -#define PF_ARM_SVE_SHA3_INSTRUCTIONS_AVAILABLE -1 |
| 37 | +#define PF_ARM_SVE_SHA3_INSTRUCTIONS_AVAILABLE 55 |
38 | 38 | #endif |
39 | 39 | #ifndef PF_ARM_SVE_SM4_INSTRUCTIONS_AVAILABLE |
40 | | -#define PF_ARM_SVE_SM4_INSTRUCTIONS_AVAILABLE -1 |
| 40 | +#define PF_ARM_SVE_SM4_INSTRUCTIONS_AVAILABLE 56 |
41 | 41 | #endif |
42 | 42 | #ifndef PF_ARM_SVE_I8MM_INSTRUCTIONS_AVAILABLE |
43 | | -#define PF_ARM_SVE_I8MM_INSTRUCTIONS_AVAILABLE -1 |
| 43 | +#define PF_ARM_SVE_I8MM_INSTRUCTIONS_AVAILABLE 57 |
44 | 44 | #endif |
45 | 45 | #ifndef PF_ARM_SVE_F32MM_INSTRUCTIONS_AVAILABLE |
46 | | -#define PF_ARM_SVE_F32MM_INSTRUCTIONS_AVAILABLE -1 |
| 46 | +#define PF_ARM_SVE_F32MM_INSTRUCTIONS_AVAILABLE 58 |
47 | 47 | #endif |
48 | 48 | #ifndef PF_ARM_SVE_F64MM_INSTRUCTIONS_AVAILABLE |
49 | | -#define PF_ARM_SVE_F64MM_INSTRUCTIONS_AVAILABLE -1 |
| 49 | +#define PF_ARM_SVE_F64MM_INSTRUCTIONS_AVAILABLE 59 |
50 | 50 | #endif |
51 | 51 |
|
52 | 52 | void __init_cpu_features_resolver(unsigned long hwcap, |
@@ -91,8 +91,7 @@ void CONSTRUCTOR_ATTRIBUTE __init_cpu_features(void) { |
91 | 91 | }; |
92 | 92 |
|
93 | 93 | for (size_t I = 0, E = sizeof(FeatMap) / sizeof(FeatMap[0]); I != E; ++I) |
94 | | - if ((FeatMap[I].WinApiFeature != -1) && |
95 | | - IsProcessorFeaturePresent(FeatMap[I].WinApiFeature)) |
| 94 | + if (IsProcessorFeaturePresent(FeatMap[I].WinApiFeature)) |
96 | 95 | setCPUFeature(FeatMap[I].CPUFeature); |
97 | 96 |
|
98 | 97 | __atomic_store(&__aarch64_cpu_features.features, &features, __ATOMIC_RELAXED); |
|
0 commit comments