forked from OSchip/llvm-project
parent
73bf9fa7ba
commit
b1b66e7a25
|
@ -164,6 +164,12 @@ def ProcA15 : SubtargetFeature<"a15", "ARMProcFamily", "CortexA15",
|
|||
"Cortex-A15 ARM processors",
|
||||
[FeatureT2XtPk, FeatureFP16,
|
||||
FeatureAvoidPartialCPSR]>;
|
||||
def ProcR5 : SubtargetFeature<"r5", "ARMProcFamily", "CortexR5",
|
||||
"Cortex-R5 ARM processors",
|
||||
[FeatureSlowFPBrcc, FeatureHWDivARM,
|
||||
FeatureHasSlowFPVMLx,
|
||||
FeatureAvoidPartialCPSR,
|
||||
FeatureT2XtPk]>;
|
||||
|
||||
class ProcNoItin<string Name, list<SubtargetFeature> Features>
|
||||
: Processor<Name, NoItineraries, Features>;
|
||||
|
@ -248,6 +254,11 @@ def : ProcessorModel<"cortex-a9-mp", CortexA9Model,
|
|||
def : ProcessorModel<"cortex-a15", CortexA9Model,
|
||||
[ProcA15, HasV7Ops, FeatureNEON, FeatureDB,
|
||||
FeatureDSPThumb2, FeatureHasRAS]>;
|
||||
// FIXME: R5 has currently the same ProcessorModel as A8.
|
||||
def : ProcessorModel<"cortex-r5", CortexA8Model,
|
||||
[ProcR5, HasV7Ops, FeatureDB,
|
||||
FeatureVFP3, FeatureDSPThumb2,
|
||||
FeatureHasRAS]>;
|
||||
|
||||
// V7M Processors.
|
||||
def : ProcNoItin<"cortex-m3", [HasV7Ops,
|
||||
|
|
|
@ -30,7 +30,7 @@ class StringRef;
|
|||
class ARMSubtarget : public ARMGenSubtargetInfo {
|
||||
protected:
|
||||
enum ARMProcFamilyEnum {
|
||||
Others, CortexA5, CortexA8, CortexA9, CortexA15, Swift
|
||||
Others, CortexA5, CortexA8, CortexA9, CortexA15, CortexR5, Swift
|
||||
};
|
||||
|
||||
/// ARMProcFamily - ARM processor family: Cortex-A8, Cortex-A9, and others.
|
||||
|
@ -215,6 +215,7 @@ protected:
|
|||
bool isSwift() const { return ARMProcFamily == Swift; }
|
||||
bool isCortexM3() const { return CPUString == "cortex-m3"; }
|
||||
bool isLikeA9() const { return isCortexA9() || isCortexA15(); }
|
||||
bool isCortexR5() const { return ARMProcFamily == CortexR5; }
|
||||
|
||||
bool hasARMOps() const { return !NoARM; }
|
||||
|
||||
|
|
Loading…
Reference in New Issue