This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[ARM 4/5 big.LITTLE] Add support for -mcpu=cortex-a57
- From: James Greenhalgh <james dot greenhalgh at arm dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: richard dot earnshaw at arm dot com, ramana dot radhakrishnan at arm dot com
- Date: Tue, 17 Dec 2013 10:40:42 +0000
- Subject: [ARM 4/5 big.LITTLE] Add support for -mcpu=cortex-a57
- Authentication-results: sourceware.org; auth=none
- References: <1387276843-21770-1-git-send-email-james dot greenhalgh at arm dot com>
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.greenhalgh@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},