From 7f8b9e364177d95b03a9a2dbd9819f10769f8c7f Mon Sep 17 00:00:00 2001 From: James Greenhalgh Date: Tue, 17 Dec 2013 12:32:43 +0000 Subject: [PATCH] [ARM 5/5 big.LITTLE] Add support for -mcpu=cortex-a57.cortex-a53 gcc/ * config/arm/arm-cores.def (cortex-a57.cortex-a53): New. * doc/invoke.texi: Document -mcpu=cortex-a57.cortex-a53. * config/arm/arm-tables.opt: Regenerate. * config/arm/arm-tune.md: Regenerate. * config/arm/bpabi.h (BE8_LINK_SPEC): Handle -mcpu=cortex-a57.cortex-a53. From-SVN: r206049 --- gcc/ChangeLog | 9 +++++++++ gcc/config/arm/arm-cores.def | 3 +++ gcc/config/arm/arm-tables.opt | 3 +++ gcc/config/arm/arm-tune.md | 2 +- gcc/config/arm/bpabi.h | 2 ++ gcc/doc/invoke.texi | 4 ++-- 6 files changed, 20 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 61696398118..b618d5eb756 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2013-12-17 James Greenhalgh + + * config/arm/arm-cores.def (cortex-a57.cortex-a53): New. + * doc/invoke.texi: Document -mcpu=cortex-a57.cortex-a53. + * config/arm/arm-tables.opt: Regenerate. + * config/arm/arm-tune.md: Regenerate. + * config/arm/bpabi.h + (BE8_LINK_SPEC): Handle -mcpu=cortex-a57.cortex-a53. + 2013-12-17 James Greenhalgh * config/arm/arm-cores.def (cortex-a57): New. diff --git a/gcc/config/arm/arm-cores.def b/gcc/config/arm/arm-cores.def index d5e562bfbd2..9bd3f3922e1 100644 --- a/gcc/config/arm/arm-cores.def +++ b/gcc/config/arm/arm-cores.def @@ -154,3 +154,6 @@ ARM_CORE("cortex-a15.cortex-a7", cortexa15cortexa7, cortexa7, 7A, FL_LDSCHED | /* V8 Architecture Processors */ ARM_CORE("cortex-a53", cortexa53, cortexa53, 8A, FL_LDSCHED, cortex_a53) ARM_CORE("cortex-a57", cortexa57, cortexa15, 8A, FL_LDSCHED, cortex_a15) + +/* V8 big.LITTLE implementations */ +ARM_CORE("cortex-a57.cortex-a53", cortexa57cortexa53, cortexa53, 8A, FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV, cortex_a15) diff --git a/gcc/config/arm/arm-tables.opt b/gcc/config/arm/arm-tables.opt index 03c1560114b..702338c23f9 100644 --- a/gcc/config/arm/arm-tables.opt +++ b/gcc/config/arm/arm-tables.opt @@ -291,6 +291,9 @@ Enum(processor_type) String(cortex-a53) Value(cortexa53) EnumValue Enum(processor_type) String(cortex-a57) Value(cortexa57) +EnumValue +Enum(processor_type) String(cortex-a57.cortex-a53) Value(cortexa57cortexa53) + Enum Name(arm_arch) Type(int) Known ARM architectures (for use with the -march= option): diff --git a/gcc/config/arm/arm-tune.md b/gcc/config/arm/arm-tune.md index d56956d0ab1..954cab8efb1 100644 --- a/gcc/config/arm/arm-tune.md +++ b/gcc/config/arm/arm-tune.md @@ -30,5 +30,5 @@ cortexa15,cortexr4,cortexr4f, cortexr5,cortexr7,cortexm4, cortexm3,marvell_pj4,cortexa15cortexa7, - cortexa53,cortexa57" + cortexa53,cortexa57,cortexa57cortexa53" (const (symbol_ref "((enum attr_tune) arm_tune)"))) diff --git a/gcc/config/arm/bpabi.h b/gcc/config/arm/bpabi.h index 796003bd7d5..5cfaeb88986 100644 --- a/gcc/config/arm/bpabi.h +++ b/gcc/config/arm/bpabi.h @@ -64,6 +64,7 @@ |mcpu=marvell-pj4 \ |mcpu=cortex-a53 \ |mcpu=cortex-a57 \ + |mcpu=cortex-a57.cortex-a53 \ |mcpu=generic-armv7-a \ |march=armv7-m|mcpu=cortex-m3 \ |march=armv7e-m|mcpu=cortex-m4 \ @@ -79,6 +80,7 @@ |mcpu=cortex-a15.cortex-a7 \ |mcpu=cortex-a53 \ |mcpu=cortex-a57 \ + |mcpu=cortex-a57.cortex-a53 \ |mcpu=marvell-pj4 \ |mcpu=generic-armv7-a \ |march=armv7-m|mcpu=cortex-m3 \ diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 974338743b1..b102e13b0e8 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -12170,8 +12170,8 @@ assembly code. Permissible names are: @samp{arm2}, @samp{arm250}, @samp{fa606te}, @samp{fa626te}, @samp{fmp626}, @samp{fa726te}. Additionally, this option can specify that GCC should tune the performance -of the code for a big.LITTLE system. The only permissible name is: -@samp{cortex-a15.cortex-a7}. +of the code for a big.LITTLE system. Permissible names are: +@samp{cortex-a15.cortex-a7}, @samp{cortex-a57.cortex-a53}. @option{-mcpu=generic-@var{arch}} is also permissible, and is equivalent to @option{-march=@var{arch} -mtune=generic-@var{arch}}.