aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Wahab <matthew.wahab@arm.com>2015-02-04 13:34:58 +0000
committerJames Greenhalgh <jgreenhalgh@gcc.gnu.org>2015-02-04 13:34:58 +0000
commit4f2ab1e6300b82d1d7a432f1a5dbe148224e48be (patch)
tree220125568b5697a800159aaea4fd7e005972f515
parent43534aa21d30e8a922a47c2d8c92c069533b6f19 (diff)
downloadgcc-4f2ab1e6300b82d1d7a432f1a5dbe148224e48be.zip
gcc-4f2ab1e6300b82d1d7a432f1a5dbe148224e48be.tar.gz
gcc-4f2ab1e6300b82d1d7a432f1a5dbe148224e48be.tar.bz2
[ARM] Add support for -mcpu=cortex-a72 and -mcpu=cortex-a72.cortex-a53
gcc/ * config/arm/arm-cores.def: Add cortex-a72 and cortex-a72.cortex-a53. * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise. * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise. * config/arm/arm-tune.md: Regenerate. * config/arm/arm-tables.opt: Add entries for "cortex-a72" and "cortex-a72.cortex-a53". * doc/invoke.texi (ARM Options/-mtune): Likewise. From-SVN: r220399
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/config/arm/arm-cores.def2
-rw-r--r--gcc/config/arm/arm-tables.opt6
-rw-r--r--gcc/config/arm/arm-tune.md4
-rw-r--r--gcc/config/arm/bpabi.h4
-rw-r--r--gcc/config/arm/t-aprofile2
-rw-r--r--gcc/doc/invoke.texi6
7 files changed, 31 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7a69635..e01618e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,14 @@
+2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/arm/arm-cores.def: Add cortex-a72 and
+ cortex-a72.cortex-a53.
+ * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise.
+ * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
+ * config/arm/arm-tune.md: Regenerate.
+ * config/arm/arm-tables.opt: Add entries for "cortex-a72" and
+ "cortex-a72.cortex-a53".
+ * doc/invoke.texi (ARM Options/-mtune): Likewise.
+
2015-02-04 Nick Clifton <nickc@redhat.com>
* config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
diff --git a/gcc/config/arm/arm-cores.def b/gcc/config/arm/arm-cores.def
index f24fefd..d7e730d 100644
--- a/gcc/config/arm/arm-cores.def
+++ b/gcc/config/arm/arm-cores.def
@@ -167,7 +167,9 @@ ARM_CORE("cortex-a17.cortex-a7", cortexa17cortexa7, cortexa7, 7A, FL_LDSCHED |
/* V8 Architecture Processors */
ARM_CORE("cortex-a53", cortexa53, cortexa53, 8A, FL_LDSCHED | FL_CRC32, cortex_a53)
ARM_CORE("cortex-a57", cortexa57, cortexa57, 8A, FL_LDSCHED | FL_CRC32, cortex_a57)
+ARM_CORE("cortex-a72", cortexa72, cortexa57, 8A, FL_LDSCHED | FL_CRC32, cortex_a57)
ARM_CORE("xgene1", xgene1, xgene1, 8A, FL_LDSCHED, xgene1)
/* V8 big.LITTLE implementations */
ARM_CORE("cortex-a57.cortex-a53", cortexa57cortexa53, cortexa53, 8A, FL_LDSCHED | FL_CRC32, cortex_a57)
+ARM_CORE("cortex-a72.cortex-a53", cortexa72cortexa53, cortexa53, 8A, FL_LDSCHED | FL_CRC32, cortex_a57)
diff --git a/gcc/config/arm/arm-tables.opt b/gcc/config/arm/arm-tables.opt
index 1392429..3450e5b 100644
--- a/gcc/config/arm/arm-tables.opt
+++ b/gcc/config/arm/arm-tables.opt
@@ -310,11 +310,17 @@ EnumValue
Enum(processor_type) String(cortex-a57) Value(cortexa57)
EnumValue
+Enum(processor_type) String(cortex-a72) Value(cortexa72)
+
+EnumValue
Enum(processor_type) String(xgene1) Value(xgene1)
EnumValue
Enum(processor_type) String(cortex-a57.cortex-a53) Value(cortexa57cortexa53)
+EnumValue
+Enum(processor_type) String(cortex-a72.cortex-a53) Value(cortexa72cortexa53)
+
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 dcd5054..d459f27 100644
--- a/gcc/config/arm/arm-tune.md
+++ b/gcc/config/arm/arm-tune.md
@@ -32,6 +32,6 @@
cortexr4f,cortexr5,cortexr7,
cortexm7,cortexm4,cortexm3,
marvell_pj4,cortexa15cortexa7,cortexa17cortexa7,
- cortexa53,cortexa57,xgene1,
- cortexa57cortexa53"
+ cortexa53,cortexa57,cortexa72,
+ xgene1,cortexa57cortexa53,cortexa72cortexa53"
(const (symbol_ref "((enum attr_tune) arm_tune)")))
diff --git a/gcc/config/arm/bpabi.h b/gcc/config/arm/bpabi.h
index 8e16434..c62130d 100644
--- a/gcc/config/arm/bpabi.h
+++ b/gcc/config/arm/bpabi.h
@@ -71,6 +71,8 @@
|mcpu=cortex-a53 \
|mcpu=cortex-a57 \
|mcpu=cortex-a57.cortex-a53 \
+ |mcpu=cortex-a72 \
+ |mcpu=cortex-a72.cortex-a53 \
|mcpu=xgene1 \
|mcpu=cortex-m1.small-multiply \
|mcpu=cortex-m0.small-multiply \
@@ -93,6 +95,8 @@
|mcpu=cortex-a53 \
|mcpu=cortex-a57 \
|mcpu=cortex-a57.cortex-a53 \
+ |mcpu=cortex-a72 \
+ |mcpu=cortex-a72.cortex-a53 \
|mcpu=xgene1 \
|mcpu=cortex-m1.small-multiply \
|mcpu=cortex-m0.small-multiply \
diff --git a/gcc/config/arm/t-aprofile b/gcc/config/arm/t-aprofile
index 6a280bd..e8b2aa3 100644
--- a/gcc/config/arm/t-aprofile
+++ b/gcc/config/arm/t-aprofile
@@ -89,6 +89,8 @@ 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
+MULTILIB_MATCHES += march?armv8-a=mcpu?cortex-a72
+MULTILIB_MATCHES += march?armv8-a=mcpu?cortex-a72.cortex-a53
# Arch Matches
MULTILIB_MATCHES += march?armv8-a=march?armv8-a+crc
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index ba81ec7..0aae187 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -12962,7 +12962,8 @@ 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-a57},
+@samp{cortex-a12}, @samp{cortex-a15}, @samp{cortex-a53},
+@samp{cortex-a57}, @samp{cortex-a72},
@samp{cortex-r4},
@samp{cortex-r4f}, @samp{cortex-r5}, @samp{cortex-r7}, @samp{cortex-m7},
@samp{cortex-m4},
@@ -12981,7 +12982,8 @@ Permissible names are: @samp{arm2}, @samp{arm250},
Additionally, this option can specify that GCC should tune the performance
of the code for a big.LITTLE system. Permissible names are:
-@samp{cortex-a15.cortex-a7}, @samp{cortex-a57.cortex-a53}.
+@samp{cortex-a15.cortex-a7}, @samp{cortex-a57.cortex-a53},
+@samp{cortex-a72.cortex-a53}.
@option{-mtune=generic-@var{arch}} specifies that GCC should tune the
performance for a blend of processors within architecture @var{arch}.