629 lines · plain
1class ProcNoItin<string Name, list<SubtargetFeature> Features>2 : Processor<Name, NoItineraries, Features>;3 4//===----------------------------------------------------------------------===//5// ARM Processor subtarget features.6//7 8def ProcA5 : SubtargetFeature<"a5", "ARMProcFamily", "CortexA5",9 "Cortex-A5 ARM processors", []>;10def ProcA7 : SubtargetFeature<"a7", "ARMProcFamily", "CortexA7",11 "Cortex-A7 ARM processors", []>;12def ProcA8 : SubtargetFeature<"a8", "ARMProcFamily", "CortexA8",13 "Cortex-A8 ARM processors", []>;14def ProcA9 : SubtargetFeature<"a9", "ARMProcFamily", "CortexA9",15 "Cortex-A9 ARM processors", []>;16def ProcA12 : SubtargetFeature<"a12", "ARMProcFamily", "CortexA12",17 "Cortex-A12 ARM processors", []>;18def ProcA15 : SubtargetFeature<"a15", "ARMProcFamily", "CortexA15",19 "Cortex-A15 ARM processors", []>;20def ProcA17 : SubtargetFeature<"a17", "ARMProcFamily", "CortexA17",21 "Cortex-A17 ARM processors", []>;22def ProcA32 : SubtargetFeature<"a32", "ARMProcFamily", "CortexA32",23 "Cortex-A32 ARM processors", []>;24def ProcA35 : SubtargetFeature<"a35", "ARMProcFamily", "CortexA35",25 "Cortex-A35 ARM processors", []>;26def ProcA53 : SubtargetFeature<"a53", "ARMProcFamily", "CortexA53",27 "Cortex-A53 ARM processors", []>;28def ProcA55 : SubtargetFeature<"a55", "ARMProcFamily", "CortexA55",29 "Cortex-A55 ARM processors", []>;30def ProcA57 : SubtargetFeature<"a57", "ARMProcFamily", "CortexA57",31 "Cortex-A57 ARM processors", []>;32def ProcA72 : SubtargetFeature<"a72", "ARMProcFamily", "CortexA72",33 "Cortex-A72 ARM processors", []>;34def ProcA73 : SubtargetFeature<"a73", "ARMProcFamily", "CortexA73",35 "Cortex-A73 ARM processors", []>;36def ProcA75 : SubtargetFeature<"a75", "ARMProcFamily", "CortexA75",37 "Cortex-A75 ARM processors", []>;38def ProcA76 : SubtargetFeature<"a76", "ARMProcFamily", "CortexA76",39 "Cortex-A76 ARM processors", []>;40def ProcA77 : SubtargetFeature<"a77", "ARMProcFamily", "CortexA77",41 "Cortex-A77 ARM processors", []>;42def ProcA78 : SubtargetFeature<"cortex-a78", "ARMProcFamily", "CortexA78",43 "Cortex-A78 ARM processors", []>;44def ProcA78AE : SubtargetFeature<"cortex-a78ae", "ARMProcFamily", "CortexA78AE",45 "Cortex-A78AE ARM processors", []>;46def ProcA78C : SubtargetFeature<"a78c", "ARMProcFamily", "CortexA78C",47 "Cortex-A78C ARM processors", []>;48def ProcA510 : SubtargetFeature<"cortex-a510", "ARMProcFamily",49 "CortexA510", "Cortex-A510 ARM processors", []>;50def ProcA710 : SubtargetFeature<"cortex-a710", "ARMProcFamily",51 "CortexA710", "Cortex-A710 ARM processors", []>;52def ProcX1 : SubtargetFeature<"cortex-x1", "ARMProcFamily", "CortexX1",53 "Cortex-X1 ARM processors", []>;54def ProcX1C : SubtargetFeature<"cortex-x1c", "ARMProcFamily", "CortexX1C",55 "Cortex-X1C ARM processors", []>;56 57def ProcV1 : SubtargetFeature<"neoverse-v1", "ARMProcFamily",58 "NeoverseV1", "Neoverse-V1 ARM processors", []>;59 60def ProcKrait : SubtargetFeature<"krait", "ARMProcFamily", "Krait",61 "Qualcomm Krait processors", []>;62def ProcKryo : SubtargetFeature<"kryo", "ARMProcFamily", "Kryo",63 "Qualcomm Kryo processors", []>;64def ProcSwift : SubtargetFeature<"swift", "ARMProcFamily", "Swift",65 "Swift ARM processors", []>;66 67def ProcExynos : SubtargetFeature<"exynos", "ARMProcFamily", "Exynos",68 "Samsung Exynos processors",69 [FeatureZCZeroing,70 FeatureUseWideStrideVFP,71 FeatureSplatVFPToNeon,72 FeatureSlowVGETLNi32,73 FeatureSlowVDUP32,74 FeatureSlowFPBrcc,75 FeatureProfUnpredicate,76 FeatureHWDivThumb,77 FeatureHWDivARM,78 FeatureHasSlowFPVMLx,79 FeatureHasSlowFPVFMx,80 FeatureHasRetAddrStack,81 FeatureFuseLiterals,82 FeatureFuseAES,83 FeatureExpandMLx,84 FeatureCrypto,85 FeatureCRC]>;86 87def ProcR4 : SubtargetFeature<"r4", "ARMProcFamily", "CortexR4",88 "Cortex-R4 ARM processors", []>;89def ProcR5 : SubtargetFeature<"r5", "ARMProcFamily", "CortexR5",90 "Cortex-R5 ARM processors", []>;91def ProcR7 : SubtargetFeature<"r7", "ARMProcFamily", "CortexR7",92 "Cortex-R7 ARM processors", []>;93def ProcR52 : SubtargetFeature<"r52", "ARMProcFamily", "CortexR52",94 "Cortex-R52 ARM processors", []>;95def ProcR52plus : SubtargetFeature<"r52plus", "ARMProcFamily", "CortexR52plus",96 "Cortex-R52plus ARM processors", []>;97 98def ProcM3 : SubtargetFeature<"m3", "ARMProcFamily", "CortexM3",99 "Cortex-M3 ARM processors", []>;100def ProcM55 : SubtargetFeature<"m55", "ARMProcFamily", "CortexM55",101 "Cortex-M55 ARM processors", []>;102def ProcM7 : SubtargetFeature<"m7", "ARMProcFamily", "CortexM7",103 "Cortex-M7 ARM processors", []>;104def ProcM85 : SubtargetFeature<"m85", "ARMProcFamily", "CortexM85",105 "Cortex-M85 ARM processors", []>;106 107//===----------------------------------------------------------------------===//108// ARM processors109//110// Dummy CPU, used to target architectures111def : ProcessorModel<"generic", CortexA8Model, []>;112 113// FIXME: Several processors below are not using their own scheduler114// model, but one of similar/previous processor. These should be fixed.115 116def : ProcNoItin<"arm8", [ARMv4]>;117def : ProcNoItin<"arm810", [ARMv4]>;118def : ProcNoItin<"strongarm", [ARMv4]>;119def : ProcNoItin<"strongarm110", [ARMv4]>;120def : ProcNoItin<"strongarm1100", [ARMv4]>;121def : ProcNoItin<"strongarm1110", [ARMv4]>;122 123def : ProcNoItin<"arm7tdmi", [ARMv4t]>;124def : ProcNoItin<"arm7tdmi-s", [ARMv4t]>;125def : ProcNoItin<"arm710t", [ARMv4t]>;126def : ProcNoItin<"arm720t", [ARMv4t]>;127def : ProcNoItin<"arm9", [ARMv4t]>;128def : ProcNoItin<"arm9tdmi", [ARMv4t]>;129def : ProcNoItin<"arm920", [ARMv4t]>;130def : ProcNoItin<"arm920t", [ARMv4t]>;131def : ProcNoItin<"arm922t", [ARMv4t]>;132def : ProcNoItin<"arm940t", [ARMv4t]>;133def : ProcNoItin<"ep9312", [ARMv4t]>;134 135def : ProcNoItin<"arm10tdmi", [ARMv5t]>;136def : ProcNoItin<"arm1020t", [ARMv5t]>;137 138def : ProcNoItin<"arm9e", [ARMv5te]>;139def : ProcNoItin<"arm926ej-s", [ARMv5te]>;140def : ProcNoItin<"arm946e-s", [ARMv5te]>;141def : ProcNoItin<"arm966e-s", [ARMv5te]>;142def : ProcNoItin<"arm968e-s", [ARMv5te]>;143def : ProcNoItin<"arm10e", [ARMv5te]>;144def : ProcNoItin<"arm1020e", [ARMv5te]>;145def : ProcNoItin<"arm1022e", [ARMv5te]>;146def : ProcNoItin<"xscale", [ARMv5te]>;147def : ProcNoItin<"iwmmxt", [ARMv5te]>;148 149def : Processor<"arm1136j-s", ARMV6Itineraries, [ARMv6]>;150def : Processor<"arm1136jf-s", ARMV6Itineraries, [ARMv6,151 FeatureVFP2,152 FeatureHasSlowFPVMLx]>;153 154def : Processor<"cortex-m0", ARMV6Itineraries, [ARMv6m,155 FeatureHasNoBranchPredictor]>;156def : Processor<"cortex-m0plus", ARMV6Itineraries, [ARMv6m,157 FeatureHasNoBranchPredictor]>;158def : Processor<"cortex-m1", ARMV6Itineraries, [ARMv6m,159 FeatureHasNoBranchPredictor]>;160def : Processor<"sc000", ARMV6Itineraries, [ARMv6m,161 FeatureHasNoBranchPredictor]>;162 163def : Processor<"arm1176jz-s", ARMV6Itineraries, [ARMv6kz]>;164def : Processor<"arm1176jzf-s", ARMV6Itineraries, [ARMv6kz,165 FeatureVFP2,166 FeatureHasSlowFPVMLx]>;167 168def : Processor<"mpcorenovfp", ARMV6Itineraries, [ARMv6k]>;169def : Processor<"mpcore", ARMV6Itineraries, [ARMv6k,170 FeatureVFP2,171 FeatureHasSlowFPVMLx]>;172 173def : Processor<"arm1156t2-s", ARMV6Itineraries, [ARMv6t2]>;174def : Processor<"arm1156t2f-s", ARMV6Itineraries, [ARMv6t2,175 FeatureVFP2,176 FeatureHasSlowFPVMLx]>;177 178def : ProcessorModel<"cortex-a5", CortexA8Model, [ARMv7a, ProcA5,179 FeatureHasRetAddrStack,180 FeatureTrustZone,181 FeatureSlowFPBrcc,182 FeatureHasSlowFPVMLx,183 FeatureHasSlowFPVFMx,184 FeatureVMLxForwarding,185 FeatureMP,186 FeatureVFP4]>;187 188def : ProcessorModel<"cortex-a7", CortexA8Model, [ARMv7a, ProcA7,189 FeatureHasRetAddrStack,190 FeatureTrustZone,191 FeatureSlowFPBrcc,192 FeatureHasVMLxHazards,193 FeatureHasSlowFPVMLx,194 FeatureHasSlowFPVFMx,195 FeatureVMLxForwarding,196 FeatureMP,197 FeatureVFP4,198 FeatureVirtualization]>;199 200def : ProcessorModel<"cortex-a8", CortexA8Model, [ARMv7a, ProcA8,201 FeatureHasRetAddrStack,202 FeatureNonpipelinedVFP,203 FeatureTrustZone,204 FeatureSlowFPBrcc,205 FeatureHasVMLxHazards,206 FeatureHasSlowFPVMLx,207 FeatureHasSlowFPVFMx,208 FeatureVMLxForwarding]>;209 210def : ProcessorModel<"cortex-a9", CortexA9Model, [ARMv7a, ProcA9,211 FeatureHasRetAddrStack,212 FeatureTrustZone,213 FeatureHasVMLxHazards,214 FeatureVMLxForwarding,215 FeatureFP16,216 FeatureAvoidPartialCPSR,217 FeatureExpandMLx,218 FeaturePreferVMOVSR,219 FeatureMuxedUnits,220 FeatureNEONForFPMovs,221 FeatureCheckVLDnAlign,222 FeatureMP]>;223 224def : ProcessorModel<"cortex-a12", CortexA9Model, [ARMv7a, ProcA12,225 FeatureHasRetAddrStack,226 FeatureTrustZone,227 FeatureVMLxForwarding,228 FeatureVFP4,229 FeatureAvoidPartialCPSR,230 FeatureVirtualization,231 FeatureMP]>;232 233def : ProcessorModel<"cortex-a15", CortexA9Model, [ARMv7a, ProcA15,234 FeatureDontWidenVMOVS,235 FeatureSplatVFPToNeon,236 FeatureHasRetAddrStack,237 FeatureMuxedUnits,238 FeatureTrustZone,239 FeatureVFP4,240 FeatureMP,241 FeatureCheckVLDnAlign,242 FeatureAvoidPartialCPSR,243 FeatureVirtualization]>;244 245def : ProcessorModel<"cortex-a17", CortexA9Model, [ARMv7a, ProcA17,246 FeatureHasRetAddrStack,247 FeatureTrustZone,248 FeatureMP,249 FeatureVMLxForwarding,250 FeatureVFP4,251 FeatureAvoidPartialCPSR,252 FeatureVirtualization]>;253 254// FIXME: krait has currently the same features as A9 plus VFP4 and HWDiv255def : ProcessorModel<"krait", CortexA9Model, [ARMv7a, ProcKrait,256 FeatureHasRetAddrStack,257 FeatureMuxedUnits,258 FeatureCheckVLDnAlign,259 FeatureVMLxForwarding,260 FeatureFP16,261 FeatureAvoidPartialCPSR,262 FeatureVFP4,263 FeatureHWDivThumb,264 FeatureHWDivARM]>;265 266def : ProcessorModel<"swift", SwiftModel, [ARMv7a, ProcSwift,267 FeatureHasRetAddrStack,268 FeatureNEONForFP,269 FeatureVFP4,270 FeatureUseWideStrideVFP,271 FeatureMP,272 FeatureHWDivThumb,273 FeatureHWDivARM,274 FeatureAvoidPartialCPSR,275 FeatureAvoidMOVsShOp,276 FeatureHasSlowFPVMLx,277 FeatureHasSlowFPVFMx,278 FeatureHasVMLxHazards,279 FeatureProfUnpredicate,280 FeaturePrefISHSTBarrier,281 FeatureSlowOddRegister,282 FeatureSlowLoadDSubreg,283 FeatureSlowVGETLNi32,284 FeatureSlowVDUP32,285 FeatureUseMISched,286 FeatureNoPostRASched]>;287 288def : ProcessorModel<"cortex-r4", CortexA8Model, [ARMv7r, ProcR4,289 FeatureHasRetAddrStack,290 FeatureAvoidPartialCPSR]>;291 292def : ProcessorModel<"cortex-r4f", CortexA8Model, [ARMv7r, ProcR4,293 FeatureHasRetAddrStack,294 FeatureSlowFPBrcc,295 FeatureHasSlowFPVMLx,296 FeatureHasSlowFPVFMx,297 FeatureVFP3_D16,298 FeatureAvoidPartialCPSR]>;299 300def : ProcessorModel<"cortex-r5", CortexA8Model, [ARMv7r, ProcR5,301 FeatureHasRetAddrStack,302 FeatureVFP3_D16,303 FeatureSlowFPBrcc,304 FeatureHWDivARM,305 FeatureHasSlowFPVMLx,306 FeatureHasSlowFPVFMx,307 FeatureAvoidPartialCPSR]>;308 309def : ProcessorModel<"cortex-r7", CortexA8Model, [ARMv7r, ProcR7,310 FeatureHasRetAddrStack,311 FeatureVFP3_D16,312 FeatureFP16,313 FeatureMP,314 FeatureSlowFPBrcc,315 FeatureHWDivARM,316 FeatureHasSlowFPVMLx,317 FeatureHasSlowFPVFMx,318 FeatureAvoidPartialCPSR]>;319 320def : ProcessorModel<"cortex-r8", CortexA8Model, [ARMv7r,321 FeatureHasRetAddrStack,322 FeatureVFP3_D16,323 FeatureFP16,324 FeatureMP,325 FeatureSlowFPBrcc,326 FeatureHWDivARM,327 FeatureHasSlowFPVMLx,328 FeatureHasSlowFPVFMx,329 FeatureAvoidPartialCPSR]>;330 331def : ProcessorModel<"cortex-m3", CortexM4Model, [ARMv7m,332 ProcM3,333 FeaturePreferBranchAlign32,334 FeatureUseMISched,335 FeatureHasNoBranchPredictor]>;336 337def : ProcessorModel<"sc300", CortexM4Model, [ARMv7m,338 ProcM3,339 FeatureUseMISched,340 FeatureHasNoBranchPredictor]>;341 342def : ProcessorModel<"cortex-m4", CortexM4Model, [ARMv7em,343 FeatureVFP4_D16_SP,344 FeaturePreferBranchAlign32,345 FeatureHasSlowFPVMLx,346 FeatureHasSlowFPVFMx,347 FeatureUseMISched,348 FeatureHasNoBranchPredictor]>;349 350def : ProcessorModel<"cortex-m7", CortexM7Model, [ARMv7em,351 ProcM7,352 FeatureFPARMv8_D16,353 FeaturePreferBranchAlign64,354 FeatureUseMIPipeliner,355 FeatureUseMISched]>;356 357def : ProcNoItin<"cortex-m23", [ARMv8mBaseline,358 FeatureNoMovt,359 FeatureHasNoBranchPredictor]>;360 361def : ProcessorModel<"cortex-m33", CortexM4Model, [ARMv8mMainline,362 FeatureDSP,363 FeatureFPARMv8_D16_SP,364 FeaturePreferBranchAlign32,365 FeatureHasSlowFPVMLx,366 FeatureHasSlowFPVFMx,367 FeatureUseMISched,368 FeatureHasNoBranchPredictor,369 FeatureAvoidMULS,370 FeatureFixCMSE_CVE_2021_35465]>;371 372def : ProcessorModel<"star-mc1", CortexM4Model, [ARMv8mMainline,373 FeatureDSP,374 FeatureFPARMv8_D16_SP,375 FeaturePreferBranchAlign32,376 FeatureHasSlowFPVMLx,377 FeatureHasSlowFPVFMx,378 FeatureUseMISched,379 FeatureHasNoBranchPredictor,380 FeatureAvoidMULS,381 FeatureFixCMSE_CVE_2021_35465]>;382 383def : ProcessorModel<"cortex-m35p", CortexM4Model, [ARMv8mMainline,384 FeatureDSP,385 FeatureFPARMv8_D16_SP,386 FeaturePreferBranchAlign32,387 FeatureHasSlowFPVMLx,388 FeatureHasSlowFPVFMx,389 FeatureUseMISched,390 FeatureHasNoBranchPredictor,391 FeatureFixCMSE_CVE_2021_35465]>;392 393def : ProcessorModel<"cortex-m55", CortexM55Model, [ARMv81mMainline,394 ProcM55,395 FeatureDSP,396 FeatureFPARMv8_D16,397 FeatureUseMISched,398 FeatureHasNoBranchPredictor,399 FeaturePreferBranchAlign32,400 FeatureHasSlowFPVMLx,401 HasMVEFloatOps,402 FeatureFixCMSE_CVE_2021_35465]>;403 404def : ProcessorModel<"cortex-m85", CortexM85Model, [ARMv81mMainline,405 ProcM85,406 FeatureDSP,407 FeatureFPARMv8_D16,408 FeaturePACBTI,409 FeaturePreferBranchAlign64,410 FeatureUseMISched,411 HasMVEFloatOps]>;412 413def : ProcessorModel<"cortex-m52", CortexM55Model, [ARMv81mMainline,414 FeatureDSP,415 FeatureFPARMv8_D16,416 FeatureHasNoBranchPredictor,417 FeaturePACBTI,418 FeatureUseMISched,419 FeaturePreferBranchAlign32,420 FeatureHasSlowFPVMLx,421 FeatureMVEVectorCostFactor1,422 HasMVEFloatOps]>;423 424def : ProcessorModel<"star-mc3", CortexM55Model, [ARMv81mMainline,425 FeatureDSP,426 FeatureFPARMv8_D16,427 FeatureHasNoBranchPredictor,428 FeaturePACBTI,429 FeatureUseMISched,430 FeaturePreferBranchAlign32,431 FeatureHasSlowFPVMLx,432 FeatureMVEVectorCostFactor1,433 HasMVEFloatOps]>;434 435def : ProcNoItin<"cortex-a32", [ARMv8a,436 FeatureHWDivThumb,437 FeatureHWDivARM,438 FeatureCrypto,439 FeatureCRC]>;440 441def : ProcNoItin<"cortex-a35", [ARMv8a, ProcA35,442 FeatureHWDivThumb,443 FeatureHWDivARM,444 FeatureCrypto,445 FeatureCRC]>;446 447def : ProcNoItin<"cortex-a53", [ARMv8a, ProcA53,448 FeatureHWDivThumb,449 FeatureHWDivARM,450 FeatureCrypto,451 FeatureCRC,452 FeatureFPAO]>;453 454def : ProcNoItin<"cortex-a55", [ARMv82a, ProcA55,455 FeatureHWDivThumb,456 FeatureHWDivARM,457 FeatureDotProd]>;458 459def : ProcessorModel<"cortex-a57", CortexA57Model, [ARMv8a, ProcA57,460 FeatureHWDivThumb,461 FeatureHWDivARM,462 FeatureCrypto,463 FeatureCRC,464 FeatureFPAO,465 FeatureAvoidPartialCPSR,466 FeatureCheapPredicableCPSR,467 FeatureFixCortexA57AES1742098]>;468 469def : ProcessorModel<"cortex-a72", CortexA57Model, [ARMv8a, ProcA72,470 FeatureHWDivThumb,471 FeatureHWDivARM,472 FeatureCrypto,473 FeatureCRC,474 FeatureFixCortexA57AES1742098]>;475 476def : ProcNoItin<"cortex-a73", [ARMv8a, ProcA73,477 FeatureHWDivThumb,478 FeatureHWDivARM,479 FeatureCrypto,480 FeatureCRC]>;481 482def : ProcNoItin<"cortex-a75", [ARMv82a, ProcA75,483 FeatureHWDivThumb,484 FeatureHWDivARM,485 FeatureDotProd]>;486 487def : ProcNoItin<"cortex-a76", [ARMv82a, ProcA76,488 FeatureHWDivThumb,489 FeatureHWDivARM,490 FeatureCrypto,491 FeatureCRC,492 FeatureFullFP16,493 FeatureDotProd]>;494 495def : ProcNoItin<"cortex-a76ae", [ARMv82a, ProcA76,496 FeatureHWDivThumb,497 FeatureHWDivARM,498 FeatureCrypto,499 FeatureCRC,500 FeatureFullFP16,501 FeatureDotProd]>;502 503def : ProcNoItin<"cortex-a77", [ARMv82a, ProcA77,504 FeatureHWDivThumb,505 FeatureHWDivARM,506 FeatureCrypto,507 FeatureCRC,508 FeatureFullFP16,509 FeatureDotProd]>;510 511def : ProcNoItin<"cortex-a78", [ARMv82a, ProcA78,512 FeatureHWDivThumb,513 FeatureHWDivARM,514 FeatureCrypto,515 FeatureCRC,516 FeatureFullFP16,517 FeatureDotProd]>;518 519def : ProcNoItin<"cortex-a78ae", [ARMv82a, ProcA78AE,520 FeatureHWDivThumb,521 FeatureHWDivARM,522 FeatureCrypto,523 FeatureCRC,524 FeatureFullFP16,525 FeatureDotProd]>;526 527def : ProcNoItin<"cortex-a78c", [ARMv82a, ProcA78C,528 FeatureHWDivThumb,529 FeatureHWDivARM,530 FeatureCrypto,531 FeatureCRC,532 FeatureDotProd,533 FeatureFullFP16]>;534 535def : ProcNoItin<"cortex-a510", [ARMv9a, ProcA710,536 FeatureHWDivThumb,537 FeatureHWDivARM,538 FeatureFP16FML,539 FeatureBF16,540 FeatureMatMulInt8,541 FeatureSB]>;542 543def : ProcNoItin<"cortex-a710", [ARMv9a, ProcA710,544 FeatureHWDivThumb,545 FeatureHWDivARM,546 FeatureFP16FML,547 FeatureBF16,548 FeatureMatMulInt8,549 FeatureSB]>;550 551def : ProcNoItin<"cortex-x1", [ARMv82a, ProcX1,552 FeatureHWDivThumb,553 FeatureHWDivARM,554 FeatureCrypto,555 FeatureCRC,556 FeatureFullFP16,557 FeatureDotProd]>;558 559def : ProcNoItin<"cortex-x1c", [ARMv82a, ProcX1C,560 FeatureHWDivThumb,561 FeatureHWDivARM,562 FeatureCrypto,563 FeatureCRC,564 FeatureFullFP16,565 FeatureDotProd]>;566 567def : ProcNoItin<"neoverse-v1", [ARMv84a,568 FeatureHWDivThumb,569 FeatureHWDivARM,570 FeatureCrypto,571 FeatureCRC,572 FeatureFullFP16,573 FeatureBF16,574 FeatureMatMulInt8]>;575 576def : ProcNoItin<"neoverse-n1", [ARMv82a,577 FeatureHWDivThumb,578 FeatureHWDivARM,579 FeatureCrypto,580 FeatureCRC,581 FeatureDotProd]>;582 583def : ProcNoItin<"neoverse-n2", [ARMv9a,584 FeatureBF16,585 FeatureFP16FML,586 FeatureMatMulInt8]>;587 588def : ProcessorModel<"cyclone", SwiftModel, [ARMv8a, ProcSwift,589 FeatureHasRetAddrStack,590 FeatureNEONForFP,591 FeatureVFP4,592 FeatureMP,593 FeatureHWDivThumb,594 FeatureHWDivARM,595 FeatureAvoidPartialCPSR,596 FeatureAvoidMOVsShOp,597 FeatureHasSlowFPVMLx,598 FeatureHasSlowFPVFMx,599 FeatureCrypto,600 FeatureUseMISched,601 FeatureZCZeroing,602 FeatureNoPostRASched]>;603 604def : ProcNoItin<"exynos-m3", [ARMv8a, ProcExynos]>;605def : ProcNoItin<"exynos-m4", [ARMv82a, ProcExynos,606 FeatureFullFP16,607 FeatureDotProd]>;608def : ProcNoItin<"exynos-m5", [ARMv82a, ProcExynos,609 FeatureFullFP16,610 FeatureDotProd]>;611 612def : ProcNoItin<"kryo", [ARMv8a, ProcKryo,613 FeatureHWDivThumb,614 FeatureHWDivARM,615 FeatureCrypto,616 FeatureCRC]>;617 618def : ProcessorModel<"cortex-r52", CortexR52Model, [ARMv8r, ProcR52,619 FeatureFPARMv8,620 FeatureNEON,621 FeatureUseMISched,622 FeatureFPAO]>;623 624def : ProcessorModel<"cortex-r52plus", CortexR52Model, [ARMv8r, ProcR52plus,625 FeatureFPARMv8,626 FeatureNEON,627 FeatureUseMISched,628 FeatureFPAO]>;629