From 6c7c17cc3ae52cff4564b1ded097892f12e9c180 Mon Sep 17 00:00:00 2001 From: Evandro Menezes Date: Fri, 20 Mar 2015 15:43:07 -0500 Subject: [PATCH] [ARM] Add option for the Samsung Exynos M1 core. gcc/ * doc/invoke.texi (ARM/mtune): Add "exynos-m1" as an option. * config/arm/arm.c (arm_issue_rate): Specify "3" for "exynosm1". * config/arm/arm-cores.def (exynos-m1): New core. * config/arm/arm-tune.md: Regenerate. * config/arm/arm-tables.opt: Add entry for "exynos-m1". * config/arm/bpabi.h: Likewise. --- gcc/config/arm/arm-cores.def | 1 + gcc/config/arm/arm-tables.opt | 3 +++ gcc/config/arm/arm-tune.md | 3 ++- gcc/config/arm/arm.c | 1 + gcc/config/arm/bpabi.h | 2 ++ gcc/doc/invoke.texi | 1 + 6 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gcc/config/arm/arm-cores.def b/gcc/config/arm/arm-cores.def index b22ea7f..7ade8a1 100644 --- a/gcc/config/arm/arm-cores.def +++ b/gcc/config/arm/arm-cores.def @@ -168,6 +168,7 @@ ARM_CORE("cortex-a17.cortex-a7", cortexa17cortexa7, cortexa7, 7A, FL_LDSCHED | ARM_CORE("cortex-a53", cortexa53, cortexa53, 8A, FL_LDSCHED | FL_CRC32, cortex_a53) ARM_CORE("cortex-a57", cortexa57, cortexa57, 8A, FL_LDSCHED | FL_CRC32, cortex_a57) ARM_CORE("cortex-a72", cortexa72, cortexa57, 8A, FL_LDSCHED | FL_CRC32, cortex_a57) +ARM_CORE("exynos-m1", exynosm1, cortexa57, 8A, FL_LDSCHED | FL_CRC32, cortex_a57) ARM_CORE("xgene1", xgene1, xgene1, 8A, FL_LDSCHED, xgene1) /* V8 big.LITTLE implementations */ diff --git a/gcc/config/arm/arm-tables.opt b/gcc/config/arm/arm-tables.opt index 3450e5b..510e745 100644 --- a/gcc/config/arm/arm-tables.opt +++ b/gcc/config/arm/arm-tables.opt @@ -313,6 +313,9 @@ EnumValue Enum(processor_type) String(cortex-a72) Value(cortexa72) EnumValue +Enum(processor_type) String(exynos-m1) Value(exynosm1) + +EnumValue Enum(processor_type) String(xgene1) Value(xgene1) EnumValue diff --git a/gcc/config/arm/arm-tune.md b/gcc/config/arm/arm-tune.md index d459f27..8b21d17 100644 --- a/gcc/config/arm/arm-tune.md +++ b/gcc/config/arm/arm-tune.md @@ -33,5 +33,6 @@ cortexm7,cortexm4,cortexm3, marvell_pj4,cortexa15cortexa7,cortexa17cortexa7, cortexa53,cortexa57,cortexa72, - xgene1,cortexa57cortexa53,cortexa72cortexa53" + exynosm1,xgene1,cortexa57cortexa53, + cortexa72cortexa53" (const (symbol_ref "((enum attr_tune) arm_tune)"))) diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 50bd3eb..3b2b9a6 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -27209,6 +27209,7 @@ arm_issue_rate (void) case cortexa15: case cortexa57: + case exynosm1: return 3; case cortexm7: diff --git a/gcc/config/arm/bpabi.h b/gcc/config/arm/bpabi.h index c62130d..ceaf2cc 100644 --- a/gcc/config/arm/bpabi.h +++ b/gcc/config/arm/bpabi.h @@ -73,6 +73,7 @@ |mcpu=cortex-a57.cortex-a53 \ |mcpu=cortex-a72 \ |mcpu=cortex-a72.cortex-a53 \ + |mcpu=exynos-m1 \ |mcpu=xgene1 \ |mcpu=cortex-m1.small-multiply \ |mcpu=cortex-m0.small-multiply \ @@ -97,6 +98,7 @@ |mcpu=cortex-a57.cortex-a53 \ |mcpu=cortex-a72 \ |mcpu=cortex-a72.cortex-a53 \ + |mcpu=exynos-m1 \ |mcpu=xgene1 \ |mcpu=cortex-m1.small-multiply \ |mcpu=cortex-m0.small-multiply \ diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index bf8afad..50caf90 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -13202,6 +13202,7 @@ Permissible names are: @samp{arm2}, @samp{arm250}, @samp{cortex-m1.small-multiply}, @samp{cortex-m0.small-multiply}, @samp{cortex-m0plus.small-multiply}, +@samp{exynos-m1}, @samp{marvell-pj4}, @samp{xscale}, @samp{iwmmxt}, @samp{iwmmxt2}, @samp{ep9312}, @samp{fa526}, @samp{fa626}, -- 1.9.1