Lines Matching full:extension
14 // Each Extension record defines an ExtensionInfo entry in the Target Parser
16 class Extension<
19 …string ArchitectureFeatureName, // The extension's "FEAT_*"" name(s) defined by the architect…
32 // An alias that can be used on the command line, if the extension has one.
37 // An Extension that can be toggled via a '-march'/'-mcpu' modifier or a target
42 …string ArchitectureFeatureName, // The extension's "FEAT_*"" name(s) defined by the architect…
45 > : Extension<TargetFeatureName, Spelling, ArchitectureFeatureName, Desc, Implies> {
99 "Enable Armv8.0-A PMUv3 Performance Monitors extension">;
101 def FeatureSpecRestrict : Extension<"specrestrict", "SpecRestrict", "FEAT_CSV2_2",
109 "Enable Armv8.1-A Large System Extension (LSE) atomic instructions">;
116 def FeaturePAN : Extension<"pan", "PAN", "FEAT_PAN",
117 "Enable Armv8.1-A Privileged Access-Never extension">;
119 def FeatureLOR : Extension<"lor", "LOR", "FEAT_LOR",
120 "Enable Armv8.1-A Limited Ordering Regions extension">;
125 def FeatureVH : Extension<"vh", "VH", "FEAT_VHE",
126 "Enable Armv8.1-A Virtual Host extension", [FeatureCONTEXTIDREL2]>;
147 "Enable Statistical Profiling extension">;
149 def FeaturePAN_RWV : Extension<"pan-rwv", "PAN_RWV", "FEAT_PAN2",
152 def FeaturePsUAO : Extension<"uaops", "PsUAO", "FEAT_UAO",
155 def FeatureCCPP : Extension<"ccpp", "CCPP", "FEAT_DPB",
159 "Enable Scalable Vector Extension (SVE) instructions", [FeatureFullFP16]>;
163 "Enable Matrix Multiply Int8 Extension">;
167 "Enable Matrix Multiply FP32 Extension", [FeatureSVE]>;
171 "Enable Matrix Multiply FP64 Extension", [FeatureSVE]>;
178 "Enable support for RCPC extension">;
181 "Enable Armv8.3-A Pointer Authentication extension">;
188 def FeatureFPAC : Extension<"fpac", "FPAC", "FEAT_FPAC",
191 def FeatureCCIDX : Extension<"ccidx", "CCIDX", "FEAT_CCIDX",
199 def FeatureNV : Extension<"nv", "NV", "FEAT_NV, FEAT_NV2",
206 def FeatureLSE2 : Extension<"lse2", "LSE2", "FEAT_LSE2",
207 "Enable Armv8.4-A Large System Extension 2 (LSE2) atomicity rules">;
215 def FeatureMPAM : Extension<"mpam", "MPAM", "FEAT_MPAM",
216 "Enable Armv8.4-A Memory system Partitioning and Monitoring extension">;
221 def FeatureTRACEV8_4 : Extension<"tracev8.4", "TRACEV8_4", "FEAT_TRF",
222 "Enable Armv8.4-A Trace extension">;
224 def FeatureAM : Extension<"am", "AM", "FEAT_AMUv1",
225 "Enable Armv8.4-A Activity Monitors extension">;
227 def FeatureSEL2 : Extension<"sel2", "SEL2", "FEAT_SEL2",
228 "Enable Armv8.4-A Secure Exception Level 2 extension">;
230 def FeatureTLB_RMI : Extension<"tlb-rmi", "TLB_RMI",
237 def FeatureRCPC_IMMO : Extension<"rcpc-immo", "RCPC_IMMO", "FEAT_LRCPC2",
245 def FeatureAltFPCmp : Extension<"altnzcv", "AlternativeNZCV", "FEAT_FlagM2",
248 def FeatureFRInt3264 : Extension<"fptoint", "FRInt3264", "FEAT_FRINTTS",
261 def FeatureCacheDeepPersist : Extension<"ccdp", "CCDP", "FEAT_DPB2",
275 "Enable Memory Tagging Extension">;
282 "Enable BFloat16 Extension">;
284 def FeatureAMVS : Extension<"amvs", "AMVS", "FEAT_AMUv1p1",
288 def FeatureFineGrainedTraps : Extension<"fgt", "FineGrainedTraps", "FEAT_FGT",
289 "Enable fine grained virtualization traps extension">;
292 Extension<"ecv", "EnhancedCounterVirtualization", "FEAT_ECV",
293 "Enable enhanced counter virtualization extension">;
299 def FeatureXS : Extension<"xs", "XS", "FEAT_XS",
305 def FeatureHCX : Extension<"hcx", "HCX", "FEAT_HCX",
310 "Enable Armv8.7-A LD64B/ST64B Accelerator Extension">;
312 def FeatureSPE_EEF : Extension<"spe-eef", "SPE_EEF", "FEAT_SPEv1p2",
313 "Enable extra register in the Statistical Profiling Extension">;
320 "Enable Armv8.8-A Hinted Conditional Branches Extension">;
325 def FeatureNMI : Extension<"nmi", "NMI", "FEAT_NMI, FEAT_GICv3_NMI",
339 def FeatureCLRBHB : Extension<"clrbhb", "CLRBHB", "FEAT_CLRBHB",
342 def FeaturePRFM_SLC : Extension<"prfm-slc-target", "PRFM_SLC", "FEAT_PRFMSLC",
355 "Enable Armv8.9-A Translation Hardening Extension">;
369 "Enable Scalable Vector Extension 2 (SVE2) instructions",
386 def FeatureTRBE : Extension<"trbe", "TRBE", "FEAT_TRBE",
387 "Enable Trace Buffer Extension">;
389 def FeatureETE : Extension<"ete", "ETE", "FEAT_ETE",
390 "Enable Embedded Trace Extension", [FeatureTRBE]>;
393 "Enable Transactional Memory Extension">;
404 "Enable Branch Record Buffer Extension">;
406 def FeatureRME : Extension<"rme", "RME", "FEAT_RME",
407 "Enable Realm Management Extension">;
410 "Enable Scalable Matrix Extension (SME)", [FeatureBF16, FeatureUseScalarIncVL]>;
413 "Enable Scalable Matrix Extension (SME) F64F64 instructions", [FeatureSME]>;
416 "Enable Scalable Matrix Extension (SME) I16I64 instructions", [FeatureSME]>;
426 "Enable Scalable Matrix Extension 2 (SME2) instructions", [FeatureSME]>;
428 def FeatureMEC : Extension<"mec", "MEC", "FEAT_MEC",
429 "Enable Memory Encryption Contexts Extension", [FeatureRME]>;
436 "Enable Scalable Vector Extension 2.1 instructions", [FeatureSVE2]>;
454 "Enable Scalable Matrix Extension 2.1 instructions", [FeatureSME2]>;
456 def FeatureCHK : Extension<"chk", "CHK", "FEAT_CHK",
457 "Enable Armv8.0-A Check Feature Status Extension">;
460 "Enable Armv9.4-A Guarded Call Stack Extension", [FeatureCHK]>;
463 "Enable Armv9.4-A Instrumentation Extension", [FeatureETE, FeatureTRBE]>;
509 "Enable Scalable Matrix Extension (SME) LUTv2 instructions">;
512 "Enable Scalable Matrix Extension (SME) F8F32 instructions", [FeatureSME2, FeatureFP8]>;
515 "Enable Scalable Matrix Extension (SME) F8F16 instructions", [FeatureSMEF8F32]>;
765 list<Extension> default_extensions
776 list<Extension> DefaultExts = default_extensions;