Skip to content

Commit 35e6bae

Browse files
committed
Revert "[AArch64][TargetParser] autogen ArchExtKind enum (#90314)"
This reverts commit 61b2a0e. Reason: AArch64TargetParserDef.inc not found while building clang
1 parent 7ae32bf commit 35e6bae

File tree

4 files changed

+196
-171
lines changed

4 files changed

+196
-171
lines changed

llvm/include/llvm/TargetParser/AArch64TargetParser.h

Lines changed: 81 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -103,31 +103,90 @@ enum CPUFeatures {
103103
static_assert(FEAT_MAX < 62,
104104
"Number of features in CPUFeatures are limited to 62 entries");
105105

106-
// Each ArchExtKind correponds directly to a possible -target-feature.
106+
// Arch extension modifiers for CPUs. These are labelled with their Arm ARM
107+
// feature name (though the canonical reference for those is AArch64.td)
108+
// clang-format off
107109
enum ArchExtKind : unsigned {
108-
AEK_NONE = 1,
109-
#define ARM_EXTENSION(NAME, ENUM) ENUM,
110-
#include "llvm/TargetParser/AArch64TargetParserDef.inc"
111-
AEK_NUM_EXTENSIONS,
112-
113-
// FIXME temporary fixes for inconsistent naming.
114-
AEK_F32MM = AEK_MATMULFP32,
115-
AEK_F64MM = AEK_MATMULFP64,
116-
AEK_FCMA = AEK_COMPLXNUM,
117-
AEK_FP = AEK_FPARMV8,
118-
AEK_FP16 = AEK_FULLFP16,
119-
AEK_I8MM = AEK_MATMULINT8,
120-
AEK_JSCVT = AEK_JS,
121-
AEK_PROFILE = AEK_SPE,
122-
AEK_RASv2 = AEK_RASV2,
123-
AEK_RAND = AEK_RANDGEN,
124-
AEK_SIMD = AEK_NEON,
125-
AEK_SME2p1 = AEK_SME2P1,
126-
AEK_SVE2p1 = AEK_SVE2P1,
127-
AEK_SME_LUTv2 = AEK_SME_LUTV2,
128-
110+
AEK_NONE = 1,
111+
AEK_CRC = 2, // FEAT_CRC32
112+
AEK_CRYPTO = 3,
113+
AEK_FP = 4, // FEAT_FP
114+
AEK_SIMD = 5, // FEAT_AdvSIMD
115+
AEK_FP16 = 6, // FEAT_FP16
116+
AEK_PROFILE = 7, // FEAT_SPE
117+
AEK_RAS = 8, // FEAT_RAS, FEAT_RASv1p1
118+
AEK_LSE = 9, // FEAT_LSE
119+
AEK_SVE = 10, // FEAT_SVE
120+
AEK_DOTPROD = 11, // FEAT_DotProd
121+
AEK_RCPC = 12, // FEAT_LRCPC
122+
AEK_RDM = 13, // FEAT_RDM
123+
AEK_SM4 = 14, // FEAT_SM4, FEAT_SM3
124+
AEK_SHA3 = 15, // FEAT_SHA3, FEAT_SHA512
125+
AEK_SHA2 = 16, // FEAT_SHA1, FEAT_SHA256
126+
AEK_AES = 17, // FEAT_AES, FEAT_PMULL
127+
AEK_FP16FML = 18, // FEAT_FHM
128+
AEK_RAND = 19, // FEAT_RNG
129+
AEK_MTE = 20, // FEAT_MTE, FEAT_MTE2
130+
AEK_SSBS = 21, // FEAT_SSBS, FEAT_SSBS2
131+
AEK_SB = 22, // FEAT_SB
132+
AEK_PREDRES = 23, // FEAT_SPECRES
133+
AEK_SVE2 = 24, // FEAT_SVE2
134+
AEK_SVE2AES = 25, // FEAT_SVE_AES, FEAT_SVE_PMULL128
135+
AEK_SVE2SM4 = 26, // FEAT_SVE_SM4
136+
AEK_SVE2SHA3 = 27, // FEAT_SVE_SHA3
137+
AEK_SVE2BITPERM = 28, // FEAT_SVE_BitPerm
138+
AEK_TME = 29, // FEAT_TME
139+
AEK_BF16 = 30, // FEAT_BF16
140+
AEK_I8MM = 31, // FEAT_I8MM
141+
AEK_F32MM = 32, // FEAT_F32MM
142+
AEK_F64MM = 33, // FEAT_F64MM
143+
AEK_LS64 = 34, // FEAT_LS64, FEAT_LS64_V, FEAT_LS64_ACCDATA
144+
AEK_BRBE = 35, // FEAT_BRBE
145+
AEK_PAUTH = 36, // FEAT_PAuth
146+
AEK_FLAGM = 37, // FEAT_FlagM
147+
AEK_SME = 38, // FEAT_SME
148+
AEK_SMEF64F64 = 39, // FEAT_SME_F64F64
149+
AEK_SMEI16I64 = 40, // FEAT_SME_I16I64
150+
AEK_HBC = 41, // FEAT_HBC
151+
AEK_MOPS = 42, // FEAT_MOPS
152+
AEK_PERFMON = 43, // FEAT_PMUv3
153+
AEK_SME2 = 44, // FEAT_SME2
154+
AEK_SVE2p1 = 45, // FEAT_SVE2p1
155+
AEK_SME2p1 = 46, // FEAT_SME2p1
156+
AEK_B16B16 = 47, // FEAT_B16B16
157+
AEK_SMEF16F16 = 48, // FEAT_SMEF16F16
158+
AEK_CSSC = 49, // FEAT_CSSC
159+
AEK_RCPC3 = 50, // FEAT_LRCPC3
160+
AEK_THE = 51, // FEAT_THE
161+
AEK_D128 = 52, // FEAT_D128
162+
AEK_LSE128 = 53, // FEAT_LSE128
163+
AEK_SPECRES2 = 54, // FEAT_SPECRES2
164+
AEK_RASv2 = 55, // FEAT_RASv2
165+
AEK_ITE = 56, // FEAT_ITE
166+
AEK_GCS = 57, // FEAT_GCS
167+
AEK_FPMR = 58, // FEAT_FPMR
168+
AEK_FP8 = 59, // FEAT_FP8
169+
AEK_FAMINMAX = 60, // FEAT_FAMINMAX
170+
AEK_FP8FMA = 61, // FEAT_FP8FMA
171+
AEK_SSVE_FP8FMA = 62, // FEAT_SSVE_FP8FMA
172+
AEK_FP8DOT2 = 63, // FEAT_FP8DOT2
173+
AEK_SSVE_FP8DOT2 = 64, // FEAT_SSVE_FP8DOT2
174+
AEK_FP8DOT4 = 65, // FEAT_FP8DOT4
175+
AEK_SSVE_FP8DOT4 = 66, // FEAT_SSVE_FP8DOT4
176+
AEK_LUT = 67, // FEAT_LUT
177+
AEK_SME_LUTv2 = 68, // FEAT_SME_LUTv2
178+
AEK_SMEF8F16 = 69, // FEAT_SME_F8F16
179+
AEK_SMEF8F32 = 70, // FEAT_SME_F8F32
180+
AEK_SMEFA64 = 71, // FEAT_SME_FA64
181+
AEK_CPA = 72, // FEAT_CPA
182+
AEK_PAUTHLR = 73, // FEAT_PAuth_LR
183+
AEK_TLBIW = 74, // FEAT_TLBIW
184+
AEK_JSCVT = 75, // FEAT_JSCVT
185+
AEK_FCMA = 76, // FEAT_FCMA
186+
AEK_NUM_EXTENSIONS
129187
};
130188
using ExtensionBitset = Bitset<AEK_NUM_EXTENSIONS>;
189+
// clang-format on
131190

132191
// Represents an extension that can be enabled with -march=<arch>+<extension>.
133192
// Typically these correspond to Arm Architecture extensions, unlike

0 commit comments

Comments
 (0)