aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Greenhalgh <james.greenhalgh@arm.com>2013-12-17 12:27:38 +0000
committerJames Greenhalgh <jgreenhalgh@gcc.gnu.org>2013-12-17 12:27:38 +0000
commit4afb594c574369e7adf9147cceb9273d2c0cca57 (patch)
tree9c0e0606ae5a731eea50560d0662d4471d592c96
parentc0e25e6593ab0ca2ae48acb5635489998bcdc1bb (diff)
downloadgcc-4afb594c574369e7adf9147cceb9273d2c0cca57.zip
gcc-4afb594c574369e7adf9147cceb9273d2c0cca57.tar.gz
gcc-4afb594c574369e7adf9147cceb9273d2c0cca57.tar.bz2
[ARM 3/5 big.LITTLE] Add support for -mcpu=cortex-a15.cortex-a7
2013-12-17 James Greenhalgh <james.greenhalgh@arm.com> * config/arm/arm-cores.def (cortex-a15.cortex-a7): New. * doc/invoke.texi: Document -mcpu=cortex-a15.cortex-a7. * config/arm/arm-tables.opt: Regenerate. * config/arm/arm-tune.md: Regenerate. * config/arm/bpabi.h (BE8_LINK_SPEC): Handle -mcpu=cortex-a5.cortex-a7. From-SVN: r206047
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/arm/arm-cores.def3
-rw-r--r--gcc/config/arm/arm-tables.opt3
-rw-r--r--gcc/config/arm/arm-tune.md3
-rw-r--r--gcc/config/arm/bpabi.h2
-rw-r--r--gcc/doc/invoke.texi3
6 files changed, 22 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5170f2d..83084da 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,14 @@
2013-12-17 James Greenhalgh <james.greenhalgh@arm.com>
+ * config/arm/arm-cores.def (cortex-a15.cortex-a7): New.
+ * doc/invoke.texi: Document -mcpu=cortex-a15.cortex-a7.
+ * config/arm/arm-tables.opt: Regenerate.
+ * config/arm/arm-tune.md: Regenerate.
+ * config/arm/bpabi.h
+ (BE8_LINK_SPEC): Handle -mcpu=cortex-a5.cortex-a7.
+
+2013-12-17 James Greenhalgh <james.greenhalgh@arm.com>
+
* config/arm/arm-cores.def: Add new column for TUNE_IDENT.
* config/arm/genopt.sh: Improve layout.
* config/arm/arm-tune.md: Regenerate.
diff --git a/gcc/config/arm/arm-cores.def b/gcc/config/arm/arm-cores.def
index 3264eed..0ea5eef 100644
--- a/gcc/config/arm/arm-cores.def
+++ b/gcc/config/arm/arm-cores.def
@@ -148,5 +148,8 @@ ARM_CORE("cortex-m4", cortexm4, cortexm4, 7EM, FL_LDSCHED, v7m)
ARM_CORE("cortex-m3", cortexm3, cortexm3, 7M, FL_LDSCHED, v7m)
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)
+
/* V8 Architecture Processors */
ARM_CORE("cortex-a53", cortexa53, cortexa53, 8A, FL_LDSCHED, cortex_a53)
diff --git a/gcc/config/arm/arm-tables.opt b/gcc/config/arm/arm-tables.opt
index 7da7cc8..d847c10 100644
--- a/gcc/config/arm/arm-tables.opt
+++ b/gcc/config/arm/arm-tables.opt
@@ -283,6 +283,9 @@ EnumValue
Enum(processor_type) String(marvell-pj4) Value(marvell_pj4)
EnumValue
+Enum(processor_type) String(cortex-a15.cortex-a7) Value(cortexa15cortexa7)
+
+EnumValue
Enum(processor_type) String(cortex-a53) Value(cortexa53)
Enum
diff --git a/gcc/config/arm/arm-tune.md b/gcc/config/arm/arm-tune.md
index 0386aff..beee9af 100644
--- a/gcc/config/arm/arm-tune.md
+++ b/gcc/config/arm/arm-tune.md
@@ -29,5 +29,6 @@
cortexa8,cortexa9,cortexa12,
cortexa15,cortexr4,cortexr4f,
cortexr5,cortexr7,cortexm4,
- cortexm3,marvell_pj4,cortexa53"
+ cortexm3,marvell_pj4,cortexa15cortexa7,
+ cortexa53"
(const (symbol_ref "((enum attr_tune) arm_tune)")))
diff --git a/gcc/config/arm/bpabi.h b/gcc/config/arm/bpabi.h
index b39c4a9..669884d 100644
--- a/gcc/config/arm/bpabi.h
+++ b/gcc/config/arm/bpabi.h
@@ -60,6 +60,7 @@
|mcpu=cortex-a7 \
|mcpu=cortex-a8|mcpu=cortex-a9|mcpu=cortex-a15 \
|mcpu=cortex-a12 \
+ |mcpu=cortex-a15.cortex-a7 \
|mcpu=marvell-pj4 \
|mcpu=cortex-a53 \
|mcpu=generic-armv7-a \
@@ -74,6 +75,7 @@
|mcpu=cortex-a7 \
|mcpu=cortex-a8|mcpu=cortex-a9|mcpu=cortex-a15 \
|mcpu=cortex-a12 \
+ |mcpu=cortex-a15.cortex-a7 \
|mcpu=cortex-a53 \
|mcpu=marvell-pj4 \
|mcpu=generic-armv7-a \
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index b655a64..e069305 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -12168,6 +12168,9 @@ assembly code. Permissible names are: @samp{arm2}, @samp{arm250},
@samp{fa526}, @samp{fa626},
@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}.
@option{-mcpu=generic-@var{arch}} is also permissible, and is
equivalent to @option{-march=@var{arch} -mtune=generic-@var{arch}}.