|
9 | 9 | * Enumeration of all CPU features supported |
10 | 10 | */ |
11 | 11 | enum rte_cpu_flag_t { |
| 12 | + /* Floating point capability */ |
12 | 13 | RTE_CPUFLAG_FP = 0, |
| 14 | + |
| 15 | + /* Arm Neon extension */ |
13 | 16 | RTE_CPUFLAG_NEON, |
| 17 | + |
| 18 | + /* Generic timer event stream */ |
14 | 19 | RTE_CPUFLAG_EVTSTRM, |
| 20 | + |
| 21 | + /* AES instructions */ |
15 | 22 | RTE_CPUFLAG_AES, |
| 23 | + |
| 24 | + /* Polynomial multiply long instruction */ |
16 | 25 | RTE_CPUFLAG_PMULL, |
| 26 | + |
| 27 | + /* SHA1 instructions */ |
17 | 28 | RTE_CPUFLAG_SHA1, |
| 29 | + |
| 30 | + /* SHA2 instructions */ |
18 | 31 | RTE_CPUFLAG_SHA2, |
| 32 | + |
| 33 | + /* CRC32 instruction */ |
19 | 34 | RTE_CPUFLAG_CRC32, |
| 35 | + |
| 36 | + /* |
| 37 | + * LDADD, LDCLR, LDEOR, LDSET, LDSMAX, LDSMIN, LDUMAX, LDUMIN, CAS, |
| 38 | + * CASP, and SWP instructions |
| 39 | + */ |
20 | 40 | RTE_CPUFLAG_ATOMICS, |
| 41 | + |
| 42 | + /* Arm SVE extension */ |
21 | 43 | RTE_CPUFLAG_SVE, |
| 44 | + |
| 45 | + /* Arm SVE2 extension */ |
22 | 46 | RTE_CPUFLAG_SVE2, |
| 47 | + |
| 48 | + /* SVE-AES instructions */ |
23 | 49 | RTE_CPUFLAG_SVEAES, |
| 50 | + |
| 51 | + /* SVE-PMULL instruction */ |
24 | 52 | RTE_CPUFLAG_SVEPMULL, |
| 53 | + |
| 54 | + /* SVE bit permute instructions */ |
25 | 55 | RTE_CPUFLAG_SVEBITPERM, |
| 56 | + |
| 57 | + /* SVE-SHA3 instructions */ |
26 | 58 | RTE_CPUFLAG_SVESHA3, |
| 59 | + |
| 60 | + /* SVE-SM4 instructions */ |
27 | 61 | RTE_CPUFLAG_SVESM4, |
| 62 | + |
| 63 | + /* CFINV, RMIF, SETF16, SETF8, AXFLAG, and XAFLAG instructions */ |
28 | 64 | RTE_CPUFLAG_FLAGM2, |
| 65 | + |
| 66 | + /* FRINT32Z, FRINT32X, FRINT64Z, and FRINT64X instructions */ |
29 | 67 | RTE_CPUFLAG_FRINT, |
| 68 | + |
| 69 | + /* SVE Int8 matrix multiplication instructions */ |
30 | 70 | RTE_CPUFLAG_SVEI8MM, |
| 71 | + |
| 72 | + /* SVE FP32 floating-point matrix multiplication instructions */ |
31 | 73 | RTE_CPUFLAG_SVEF32MM, |
| 74 | + |
| 75 | + /* SVE FP64 floating-point matrix multiplication instructions */ |
32 | 76 | RTE_CPUFLAG_SVEF64MM, |
| 77 | + |
| 78 | + /* SVE BFloat16 instructions */ |
33 | 79 | RTE_CPUFLAG_SVEBF16, |
| 80 | + |
| 81 | + /* 64 bit execution state of the Arm architecture */ |
34 | 82 | RTE_CPUFLAG_AARCH64, |
35 | 83 |
|
36 | 84 | /* WFET and WFIT instructions */ |
|
0 commit comments