Changeset View
Changeset View
Standalone View
Standalone View
lib/Target/AArch64/AArch64.td
Show First 20 Lines • Show All 92 Lines • ▼ Show 20 Lines | |||||
FeatureFPARMv8, | FeatureFPARMv8, | ||||
FeatureFuseAES, | FeatureFuseAES, | ||||
FeatureNEON, | FeatureNEON, | ||||
FeaturePerfMon, | FeaturePerfMon, | ||||
FeaturePostRAScheduler, | FeaturePostRAScheduler, | ||||
FeatureUseAA | FeatureUseAA | ||||
]>; | ]>; | ||||
def ProcA55 : SubtargetFeature<"a55", "ARMProcFamily", "CortexA55", | |||||
"Cortex-A55 ARM processors", [ | |||||
FeatureCrypto, | |||||
FeatureFPARMv8, | |||||
FeatureFuseAES, | |||||
FeatureNEON, | |||||
FeatureFullFP16, | |||||
FeatureDotProd, | |||||
FeatureRCPC, | |||||
FeaturePerfMon | |||||
]>; | |||||
def ProcA57 : SubtargetFeature<"a57", "ARMProcFamily", "CortexA57", | def ProcA57 : SubtargetFeature<"a57", "ARMProcFamily", "CortexA57", | ||||
"Cortex-A57 ARM processors", [ | "Cortex-A57 ARM processors", [ | ||||
FeatureBalanceFPOps, | FeatureBalanceFPOps, | ||||
FeatureCRC, | FeatureCRC, | ||||
FeatureCrypto, | FeatureCrypto, | ||||
FeatureCustomCheapAsMoveHandling, | FeatureCustomCheapAsMoveHandling, | ||||
FeatureFPARMv8, | FeatureFPARMv8, | ||||
FeatureFuseAES, | FeatureFuseAES, | ||||
Show All 19 Lines | |||||
FeatureCRC, | FeatureCRC, | ||||
FeatureCrypto, | FeatureCrypto, | ||||
FeatureFPARMv8, | FeatureFPARMv8, | ||||
FeatureFuseAES, | FeatureFuseAES, | ||||
FeatureNEON, | FeatureNEON, | ||||
FeaturePerfMon | FeaturePerfMon | ||||
]>; | ]>; | ||||
def ProcA75 : SubtargetFeature<"a75", "ARMProcFamily", "CortexA75", | |||||
"Cortex-A75 ARM processors", [ | |||||
FeatureCrypto, | |||||
FeatureFPARMv8, | |||||
FeatureFuseAES, | |||||
FeatureNEON, | |||||
FeatureFullFP16, | |||||
FeatureDotProd, | |||||
FeatureRCPC, | |||||
FeaturePerfMon | |||||
]>; | |||||
def ProcCyclone : SubtargetFeature<"cyclone", "ARMProcFamily", "Cyclone", | def ProcCyclone : SubtargetFeature<"cyclone", "ARMProcFamily", "Cyclone", | ||||
"Cyclone", [ | "Cyclone", [ | ||||
FeatureAlternateSExtLoadCVTF32Pattern, | FeatureAlternateSExtLoadCVTF32Pattern, | ||||
FeatureCrypto, | FeatureCrypto, | ||||
FeatureDisableLatencySchedHeuristic, | FeatureDisableLatencySchedHeuristic, | ||||
FeatureFPARMv8, | FeatureFPARMv8, | ||||
FeatureArithmeticBccFusion, | FeatureArithmeticBccFusion, | ||||
FeatureArithmeticCbzFusion, | FeatureArithmeticCbzFusion, | ||||
▲ Show 20 Lines • Show All 121 Lines • ▼ Show 20 Lines | |||||
def : ProcessorModel<"generic", NoSchedModel, [ | def : ProcessorModel<"generic", NoSchedModel, [ | ||||
FeatureFPARMv8, | FeatureFPARMv8, | ||||
FeatureFuseAES, | FeatureFuseAES, | ||||
FeatureNEON, | FeatureNEON, | ||||
FeaturePerfMon, | FeaturePerfMon, | ||||
FeaturePostRAScheduler | FeaturePostRAScheduler | ||||
]>; | ]>; | ||||
// FIXME: Cortex-A35 is currently modeled as a Cortex-A53. | // FIXME: Cortex-A35 and Cortex-A55 are currently modeled as a Cortex-A53. | ||||
def : ProcessorModel<"cortex-a35", CortexA53Model, [ProcA35]>; | def : ProcessorModel<"cortex-a35", CortexA53Model, [ProcA35]>; | ||||
def : ProcessorModel<"cortex-a53", CortexA53Model, [ProcA53]>; | def : ProcessorModel<"cortex-a53", CortexA53Model, [ProcA53]>; | ||||
def : ProcessorModel<"cortex-a55", CortexA53Model, [ProcA55]>; | |||||
def : ProcessorModel<"cortex-a57", CortexA57Model, [ProcA57]>; | def : ProcessorModel<"cortex-a57", CortexA57Model, [ProcA57]>; | ||||
// FIXME: Cortex-A72 and Cortex-A73 are currently modeled as a Cortex-A57. | // FIXME: Cortex-A72, Cortex-A73 and Cortex-A75 are currently modeled as a Cortex-A57. | ||||
def : ProcessorModel<"cortex-a72", CortexA57Model, [ProcA72]>; | def : ProcessorModel<"cortex-a72", CortexA57Model, [ProcA72]>; | ||||
def : ProcessorModel<"cortex-a73", CortexA57Model, [ProcA73]>; | def : ProcessorModel<"cortex-a73", CortexA57Model, [ProcA73]>; | ||||
def : ProcessorModel<"cortex-a75", CortexA57Model, [ProcA75]>; | |||||
def : ProcessorModel<"cyclone", CycloneModel, [ProcCyclone]>; | def : ProcessorModel<"cyclone", CycloneModel, [ProcCyclone]>; | ||||
def : ProcessorModel<"exynos-m1", ExynosM1Model, [ProcExynosM1]>; | def : ProcessorModel<"exynos-m1", ExynosM1Model, [ProcExynosM1]>; | ||||
def : ProcessorModel<"exynos-m2", ExynosM1Model, [ProcExynosM2]>; | def : ProcessorModel<"exynos-m2", ExynosM1Model, [ProcExynosM2]>; | ||||
def : ProcessorModel<"exynos-m3", ExynosM1Model, [ProcExynosM2]>; | def : ProcessorModel<"exynos-m3", ExynosM1Model, [ProcExynosM2]>; | ||||
def : ProcessorModel<"falkor", FalkorModel, [ProcFalkor]>; | def : ProcessorModel<"falkor", FalkorModel, [ProcFalkor]>; | ||||
def : ProcessorModel<"kryo", KryoModel, [ProcKryo]>; | def : ProcessorModel<"kryo", KryoModel, [ProcKryo]>; | ||||
// Cavium ThunderX/ThunderX T8X Processors | // Cavium ThunderX/ThunderX T8X Processors | ||||
def : ProcessorModel<"thunderx", ThunderXT8XModel, [ProcThunderX]>; | def : ProcessorModel<"thunderx", ThunderXT8XModel, [ProcThunderX]>; | ||||
▲ Show 20 Lines • Show All 50 Lines • Show Last 20 Lines |