Index: lib/Target/AArch64/AArch64.td =================================================================== --- lib/Target/AArch64/AArch64.td +++ lib/Target/AArch64/AArch64.td @@ -117,0 +118,8 @@ +def ProcExynosM1 : SubtargetFeature<"m1", "ARMProcFamily", "ExynosM1", + "Exynos-M1 SAMSUNG processors", + [FeatureFPARMv8, + FeatureNEON, + FeatureCrypto, + FeatureCRC, + FeaturePerfMon]>; + @@ -138,0 +147 @@ +def : ProcessorModel<"exynos-m1", NoSchedModel, [ProcExynosM1]>; Index: lib/Target/AArch64/AArch64Subtarget.h =================================================================== --- lib/Target/AArch64/AArch64Subtarget.h +++ lib/Target/AArch64/AArch64Subtarget.h @@ -36 +36,8 @@ - enum ARMProcFamilyEnum {Others, CortexA35, CortexA53, CortexA57, Cyclone}; + enum ARMProcFamilyEnum { + Others, + CortexA35, + CortexA53, + CortexA57, + Cyclone, + ExynosM1 + }; @@ -144,0 +152 @@ + bool isExynosM1() const { return CPUString == "exynos-m1"; }