Hi all,
Following up from adding Cortex-A17 support this patch adds a big.LITTLE
option cortex-a17.cortex-a7.
Similar to the existing cortex-a15.cortex-a7 support we schedule for
Cortex-A7 and make the other tuning
decisions as for Cortex-A17.
Tested arm-none-eabi.
Ok for trunk?
Thanks,
Kyrill
2014-11-18 Kyrylo Tkachov <kyrylo.tkac...@arm.com>
* config/arm/arm-cores.def (cortex-a17.cortex-a7): New entry.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm-tune.md: Regenerate.
* config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a17.cortex-a7.
* config/arm/t-aprofile: Add cortex-a17.cortex-a7 entry to
MULTILIB_MATCHES.
commit aa691f7d5d474f3e7721dfbedefea4b22502b5c0
Author: Kyrylo Tkachov <kyrylo.tkac...@arm.com>
Date: Mon Nov 3 15:07:58 2014 +0000
[ARM] Add cortex-a17.cortex-a7 big.LITTLE support
diff --git a/gcc/config/arm/arm-cores.def b/gcc/config/arm/arm-cores.def
index f8003ce..423ee9e 100644
--- a/gcc/config/arm/arm-cores.def
+++ b/gcc/config/arm/arm-cores.def
@@ -162,6 +162,7 @@ ARM_CORE("marvell-pj4", marvell_pj4, marvell_pj4, 7A, FL_LDSCHED, 9e)
/* V7 big.LITTLE implementations */
ARM_CORE("cortex-a15.cortex-a7", cortexa15cortexa7, cortexa7, 7A, FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV, cortex_a15)
+ARM_CORE("cortex-a17.cortex-a7", cortexa17cortexa7, cortexa7, 7A, FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV, cortex_a12)
/* V8 Architecture Processors */
ARM_CORE("cortex-a53", cortexa53, cortexa53, 8A, FL_LDSCHED | FL_CRC32, cortex_a53)
diff --git a/gcc/config/arm/arm-tables.opt b/gcc/config/arm/arm-tables.opt
index 9d8159f..9b1886e 100644
--- a/gcc/config/arm/arm-tables.opt
+++ b/gcc/config/arm/arm-tables.opt
@@ -301,6 +301,9 @@ EnumValue
Enum(processor_type) String(cortex-a15.cortex-a7) Value(cortexa15cortexa7)
EnumValue
+Enum(processor_type) String(cortex-a17.cortex-a7) Value(cortexa17cortexa7)
+
+EnumValue
Enum(processor_type) String(cortex-a53) Value(cortexa53)
EnumValue
diff --git a/gcc/config/arm/arm-tune.md b/gcc/config/arm/arm-tune.md
index 7218542..d300c51 100644
--- a/gcc/config/arm/arm-tune.md
+++ b/gcc/config/arm/arm-tune.md
@@ -31,6 +31,6 @@ (define_attr "tune"
cortexa15,cortexa17,cortexr4,cortexr4f,
cortexr5,cortexr7,cortexm7,
cortexm4,cortexm3,marvell_pj4,
- cortexa15cortexa7,cortexa53,cortexa57,
- cortexa57cortexa53"
+ cortexa15cortexa7,cortexa17cortexa7,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 22a37ae..aa93aa4 100644
--- a/gcc/config/arm/bpabi.h
+++ b/gcc/config/arm/bpabi.h
@@ -66,6 +66,7 @@
|mcpu=cortex-a8|mcpu=cortex-a9|mcpu=cortex-a15 \
|mcpu=cortex-a12|mcpu=cortex-a17 \
|mcpu=cortex-a15.cortex-a7 \
+ |mcpu=cortex-a17.cortex-a7 \
|mcpu=marvell-pj4 \
|mcpu=cortex-a53 \
|mcpu=cortex-a57 \
@@ -87,6 +88,7 @@
|mcpu=cortex-a8|mcpu=cortex-a9|mcpu=cortex-a15 \
|mcpu=cortex-a12|mcpu=cortex-a17 \
|mcpu=cortex-a15.cortex-a7 \
+ |mcpu=cortex-a17.cortex-a7 \
|mcpu=cortex-a53 \
|mcpu=cortex-a57 \
|mcpu=cortex-a57.cortex-a53 \
diff --git a/gcc/config/arm/t-aprofile b/gcc/config/arm/t-aprofile
index 475aed1..9e2637b 100644
--- a/gcc/config/arm/t-aprofile
+++ b/gcc/config/arm/t-aprofile
@@ -85,6 +85,7 @@ MULTILIB_MATCHES += march?armv7ve=mcpu?cortex-a15
MULTILIB_MATCHES += march?armv7ve=mcpu?cortex-a12
MULTILIB_MATCHES += march?armv7ve=mcpu?cortex-a17
MULTILIB_MATCHES += march?armv7ve=mcpu?cortex-a15.cortex-a7
+MULTILIB_MATCHES += march?armv7ve=mcpu?cortex-a17.cortex-a7
MULTILIB_MATCHES += march?armv8-a=mcpu?cortex-a53
MULTILIB_MATCHES += march?armv8-a=mcpu?cortex-a57
MULTILIB_MATCHES += march?armv8-a=mcpu?cortex-a57.cortex-a53