aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>2016-02-24 11:02:04 +0000
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>2016-02-24 11:02:04 +0000
commitdebc68edb4df2357589427fe90ea894467c7b2e2 (patch)
tree2f34f2061900f062bcc57d2fc7c0286f4792cda6
parent74a002883c0a800298ad2db7fff646fca07870cf (diff)
downloadgcc-debc68edb4df2357589427fe90ea894467c7b2e2.zip
gcc-debc68edb4df2357589427fe90ea894467c7b2e2.tar.gz
gcc-debc68edb4df2357589427fe90ea894467c7b2e2.tar.bz2
[ARM] Add initial support for the Cortex-A32
* config/arm/arm-cores.def (cortex-a32): New entry. * config/arm/arm-tables.opt: Regenerate. * config/arm/arm-tune.md: Regenerate. * config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a32. * config/arm/t-aprofile: Handle mcpu=cortex-a32. * doc/invoke.texi (ARM Options): Document cortex-a32 as value for -mcpu and -mtune. From-SVN: r233659
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/config/arm/arm-cores.def1
-rw-r--r--gcc/config/arm/arm-tables.opt3
-rw-r--r--gcc/config/arm/arm-tune.md7
-rw-r--r--gcc/config/arm/bpabi.h1
-rw-r--r--gcc/config/arm/t-aprofile1
-rw-r--r--gcc/doc/invoke.texi4
7 files changed, 22 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index eeaf4c6..05b04b9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,15 @@
2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+ * config/arm/arm-cores.def (cortex-a32): New entry.
+ * config/arm/arm-tables.opt: Regenerate.
+ * config/arm/arm-tune.md: Regenerate.
+ * config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a32.
+ * config/arm/t-aprofile: Handle mcpu=cortex-a32.
+ * doc/invoke.texi (ARM Options): Document cortex-a32 as value
+ for -mcpu and -mtune.
+
+2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
PR target/69875
* config/arm/arm.h (TARGET_HAVE_LPAE): Define.
* config/arm/unspecs.md (VUNSPEC_LDRD_ATOMIC): New value.
diff --git a/gcc/config/arm/arm-cores.def b/gcc/config/arm/arm-cores.def
index 6538861..b61b7f8 100644
--- a/gcc/config/arm/arm-cores.def
+++ b/gcc/config/arm/arm-cores.def
@@ -165,6 +165,7 @@ ARM_CORE("cortex-a15.cortex-a7", cortexa15cortexa7, cortexa7, 7A, ARM_FSET_MAKE_
ARM_CORE("cortex-a17.cortex-a7", cortexa17cortexa7, cortexa7, 7A, ARM_FSET_MAKE_CPU1 (FL_LDSCHED | FL_THUMB_DIV | FL_ARM_DIV | FL_FOR_ARCH7A), cortex_a12)
/* V8 Architecture Processors */
+ARM_CORE("cortex-a32", cortexa32, cortexa53, 8A, ARM_FSET_MAKE_CPU1 (FL_LDSCHED | FL_CRC32 | FL_FOR_ARCH8A), cortex_a35)
ARM_CORE("cortex-a35", cortexa35, cortexa53, 8A, ARM_FSET_MAKE_CPU1 (FL_LDSCHED | FL_CRC32 | FL_FOR_ARCH8A), cortex_a35)
ARM_CORE("cortex-a53", cortexa53, cortexa53, 8A, ARM_FSET_MAKE_CPU1 (FL_LDSCHED | FL_CRC32 | FL_FOR_ARCH8A), cortex_a53)
ARM_CORE("cortex-a57", cortexa57, cortexa57, 8A, ARM_FSET_MAKE_CPU1 (FL_LDSCHED | FL_CRC32 | FL_FOR_ARCH8A), cortex_a57)
diff --git a/gcc/config/arm/arm-tables.opt b/gcc/config/arm/arm-tables.opt
index 6d6ee96..4b7522c 100644
--- a/gcc/config/arm/arm-tables.opt
+++ b/gcc/config/arm/arm-tables.opt
@@ -304,6 +304,9 @@ EnumValue
Enum(processor_type) String(cortex-a17.cortex-a7) Value(cortexa17cortexa7)
EnumValue
+Enum(processor_type) String(cortex-a32) Value(cortexa32)
+
+EnumValue
Enum(processor_type) String(cortex-a35) Value(cortexa35)
EnumValue
diff --git a/gcc/config/arm/arm-tune.md b/gcc/config/arm/arm-tune.md
index 1c84218..b66344a 100644
--- a/gcc/config/arm/arm-tune.md
+++ b/gcc/config/arm/arm-tune.md
@@ -32,7 +32,8 @@
cortexr4f,cortexr5,cortexr7,
cortexm7,cortexm4,cortexm3,
marvell_pj4,cortexa15cortexa7,cortexa17cortexa7,
- cortexa35,cortexa53,cortexa57,
- cortexa72,exynosm1,qdf24xx,
- xgene1,cortexa57cortexa53,cortexa72cortexa53"
+ cortexa32,cortexa35,cortexa53,
+ cortexa57,cortexa72,exynosm1,
+ qdf24xx,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 82128ef..5d6c4ed 100644
--- a/gcc/config/arm/bpabi.h
+++ b/gcc/config/arm/bpabi.h
@@ -68,6 +68,7 @@
|mcpu=cortex-a15.cortex-a7 \
|mcpu=cortex-a17.cortex-a7 \
|mcpu=marvell-pj4 \
+ |mcpu=cortex-a32 \
|mcpu=cortex-a35 \
|mcpu=cortex-a53 \
|mcpu=cortex-a57 \
diff --git a/gcc/config/arm/t-aprofile b/gcc/config/arm/t-aprofile
index 6095706..b0ecc2f 100644
--- a/gcc/config/arm/t-aprofile
+++ b/gcc/config/arm/t-aprofile
@@ -86,6 +86,7 @@ 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-a32
MULTILIB_MATCHES += march?armv8-a=mcpu?cortex-a35
MULTILIB_MATCHES += march?armv8-a=mcpu?cortex-a53
MULTILIB_MATCHES += march?armv8-a=mcpu?cortex-a57
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 490df93..9ca3793 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -13975,8 +13975,8 @@ Permissible names are: @samp{arm2}, @samp{arm250},
@samp{arm1156t2-s}, @samp{arm1156t2f-s}, @samp{arm1176jz-s}, @samp{arm1176jzf-s},
@samp{generic-armv7-a}, @samp{cortex-a5}, @samp{cortex-a7}, @samp{cortex-a8},
@samp{cortex-a9}, @samp{cortex-a12}, @samp{cortex-a15}, @samp{cortex-a17},
-@samp{cortex-a35}, @samp{cortex-a53}, @samp{cortex-a57}, @samp{cortex-a72},
-@samp{cortex-r4},
+@samp{cortex-a32}, @samp{cortex-a35}, @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},
@samp{cortex-m3},