Hi, This patch wires up -mcpu=cortex-a57 as an option to -mcpu. As we don't yet have a scheduling model for Cortex-A57 available, for now we use the scheduling description for another "big" core, the Cortex-A15.
Bootstrapped in series and sanity checked. OK? Thanks, James --- 2013-12-17 James Greenhalgh <james.greenha...@arm.com> * config/arm/arm-cores.def (cortex-a57): New. * doc/invoke.texi: Document -mcpu=cortex-a57. * config/arm/arm-tables.opt: Regenerate. * config/arm/arm-tune.md: Regenerate. * config/arm/bpabi.h (BE8_LINK_SPEC): Handle -mcpu=cortex-a57.
diff --git a/gcc/config/arm/arm-cores.def b/gcc/config/arm/arm-cores.def index 0ea5eef..d5e562b 100644 --- a/gcc/config/arm/arm-cores.def +++ b/gcc/config/arm/arm-cores.def @@ -153,3 +153,4 @@ 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) diff --git a/gcc/config/arm/arm-tables.opt b/gcc/config/arm/arm-tables.opt index d847c10..03c1560 100644 --- a/gcc/config/arm/arm-tables.opt +++ b/gcc/config/arm/arm-tables.opt @@ -288,6 +288,9 @@ Enum(processor_type) String(cortex-a15.cortex-a7) Value(cortexa15cortexa7) EnumValue Enum(processor_type) String(cortex-a53) Value(cortexa53) +EnumValue +Enum(processor_type) String(cortex-a57) Value(cortexa57) + 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 beee9af013f6a5a75b7051f3c7077e98fafd45ef..d56956d0ab1bd917ad049f835880bdc0186d7d2a 100644 --- a/gcc/config/arm/arm-tune.md +++ b/gcc/config/arm/arm-tune.md @@ -30,5 +30,5 @@ (define_attr "tune" cortexa15,cortexr4,cortexr4f, cortexr5,cortexr7,cortexm4, cortexm3,marvell_pj4,cortexa15cortexa7, - cortexa53" + cortexa53,cortexa57" (const (symbol_ref "((enum attr_tune) arm_tune)"))) diff --git a/gcc/config/arm/bpabi.h b/gcc/config/arm/bpabi.h index 669884d..796003b 100644 --- a/gcc/config/arm/bpabi.h +++ b/gcc/config/arm/bpabi.h @@ -63,6 +63,7 @@ |mcpu=cortex-a15.cortex-a7 \ |mcpu=marvell-pj4 \ |mcpu=cortex-a53 \ + |mcpu=cortex-a57 \ |mcpu=generic-armv7-a \ |march=armv7-m|mcpu=cortex-m3 \ |march=armv7e-m|mcpu=cortex-m4 \ @@ -77,6 +78,7 @@ |mcpu=cortex-a12 \ |mcpu=cortex-a15.cortex-a7 \ |mcpu=cortex-a53 \ + |mcpu=cortex-a57 \ |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 e069305..9743387 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -12157,7 +12157,8 @@ assembly code. Permissible names are: @samp{arm2}, @samp{arm250}, @samp{arm1136j-s}, @samp{arm1136jf-s}, @samp{mpcore}, @samp{mpcorenovfp}, @samp{arm1156t2-s}, @samp{arm1156t2f-s}, @samp{arm1176jz-s}, @samp{arm1176jzf-s}, @samp{cortex-a5}, @samp{cortex-a7}, @samp{cortex-a8}, @samp{cortex-a9}, -@samp{cortex-a12}, @samp{cortex-a15}, @samp{cortex-a53}, @samp{cortex-r4}, +@samp{cortex-a12}, @samp{cortex-a15}, @samp{cortex-a53}, @samp{cortex-a57}, +@samp{cortex-r4}, @samp{cortex-r4f}, @samp{cortex-r5}, @samp{cortex-r7}, @samp{cortex-m4}, @samp{cortex-m3}, @samp{cortex-m1},