aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJames Greenhalgh <james.greenhalgh@arm.com>2013-11-14 09:56:30 +0000
committerJames Greenhalgh <jgreenhalgh@gcc.gnu.org>2013-11-14 09:56:30 +0000
commit02fdbd5beb0212b36d6c0afc473e9082ce74c696 (patch)
treeaadd5e97dd2047842c85230c86ba47cacd7317ca /gcc
parent00ed7ad477d326ee1d388d30246a69f486731352 (diff)
downloadgcc-02fdbd5beb0212b36d6c0afc473e9082ce74c696.zip
gcc-02fdbd5beb0212b36d6c0afc473e9082ce74c696.tar.gz
gcc-02fdbd5beb0212b36d6c0afc473e9082ce74c696.tar.bz2
[AArch64] [-mtune cleanup 2/5] Tune for Cortex-A53 by default.
gcc/ * config/aarch64/aarch64-arches.def (armv8-a): Tune for cortex-a53. * config/aarch64/aarch64.md: Do not include aarch64-generic.md. * config/aarch64/aarch64.c (aarch64_tune): Initialize to cortexa53. (all_cores): Use cortexa53 when tuning for "generic". (aarch64_override_options): Fix comment. * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Set to cortexa53. * config/aarch64/aarch64-generic.md: Delete. From-SVN: r204782
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/config/aarch64/aarch64-arches.def2
-rw-r--r--gcc/config/aarch64/aarch64-generic.md40
-rw-r--r--gcc/config/aarch64/aarch64.c6
-rw-r--r--gcc/config/aarch64/aarch64.h4
-rw-r--r--gcc/config/aarch64/aarch64.md1
6 files changed, 16 insertions, 47 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8e9bdfd..b49dcf2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,15 @@
2013-11-14 James Greenhalgh <james.greenhalgh@arm.com>
+ * config/aarch64/aarch64-arches.def (armv8-a): Tune for cortex-a53.
+ * config/aarch64/aarch64.md: Do not include aarch64-generic.md.
+ * config/aarch64/aarch64.c (aarch64_tune): Initialize to cortexa53.
+ (all_cores): Use cortexa53 when tuning for "generic".
+ (aarch64_override_options): Fix comment.
+ * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Set to cortexa53.
+ * config/aarch64/aarch64-generic.md: Delete.
+
+2013-11-14 James Greenhalgh <james.greenhalgh@arm.com>
+
* config/aarch64/aarch64.c (all_architectures): Remove "generic".
2013-11-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
diff --git a/gcc/config/aarch64/aarch64-arches.def b/gcc/config/aarch64/aarch64-arches.def
index b66e33e..683c34c 100644
--- a/gcc/config/aarch64/aarch64-arches.def
+++ b/gcc/config/aarch64/aarch64-arches.def
@@ -26,4 +26,4 @@
this architecture. ARCH is the architecture revision. FLAGS are
the flags implied by the architecture. */
-AARCH64_ARCH("armv8-a", generic, 8, AARCH64_FL_FOR_ARCH8)
+AARCH64_ARCH("armv8-a", cortexa53, 8, AARCH64_FL_FOR_ARCH8)
diff --git a/gcc/config/aarch64/aarch64-generic.md b/gcc/config/aarch64/aarch64-generic.md
deleted file mode 100644
index 12faac8..0000000
--- a/gcc/config/aarch64/aarch64-generic.md
+++ /dev/null
@@ -1,40 +0,0 @@
-;; Machine description for AArch64 architecture.
-;; Copyright (C) 2009-2013 Free Software Foundation, Inc.
-;; Contributed by ARM Ltd.
-;;
-;; This file is part of GCC.
-;;
-;; GCC is free software; you can redistribute it and/or modify it
-;; under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 3, or (at your option)
-;; any later version.
-;;
-;; GCC is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-;; General Public License for more details.
-;;
-;; You should have received a copy of the GNU General Public License
-;; along with GCC; see the file COPYING3. If not see
-;; <http://www.gnu.org/licenses/>.
-
-;; Generic scheduler
-
-(define_automaton "aarch64")
-
-(define_cpu_unit "core" "aarch64")
-
-(define_attr "is_load" "yes,no"
- (if_then_else (eq_attr "v8type" "fpsimd_load,fpsimd_load2,load1,load2")
- (const_string "yes")
- (const_string "no")))
-
-(define_insn_reservation "load" 2
- (and (eq_attr "generic_sched" "yes")
- (eq_attr "is_load" "yes"))
- "core")
-
-(define_insn_reservation "nonload" 1
- (and (eq_attr "generic_sched" "yes")
- (eq_attr "is_load" "no"))
- "core")
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 5b63d69..a8e7b7a 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -128,7 +128,7 @@ static bool aarch64_vectorize_vec_perm_const_ok (enum machine_mode vmode,
const unsigned char *sel);
/* The processor for which instructions should be scheduled. */
-enum aarch64_processor aarch64_tune = generic;
+enum aarch64_processor aarch64_tune = cortexa53;
/* The current tuning set. */
const struct tune_params *aarch64_tune_params;
@@ -226,7 +226,7 @@ static const struct processor all_cores[] =
{NAME, IDENT, #ARCH, FLAGS | AARCH64_FL_FOR_ARCH##ARCH, &COSTS##_tunings},
#include "aarch64-cores.def"
#undef AARCH64_CORE
- {"generic", generic, "8", AARCH64_FL_FPSIMD | AARCH64_FL_FOR_ARCH8, &generic_tunings},
+ {"generic", cortexa53, "8", AARCH64_FL_FPSIMD | AARCH64_FL_FOR_ARCH8, &generic_tunings},
{NULL, aarch64_none, NULL, 0, NULL}
};
@@ -5170,7 +5170,7 @@ aarch64_override_options (void)
/* If the user did not specify a processor, choose the default
one for them. This will be the CPU set during configuration using
- --with-cpu, otherwise it is "generic". */
+ --with-cpu, otherwise it is "coretex-a53". */
if (!selected_cpu)
{
selected_cpu = &all_cores[TARGET_CPU_DEFAULT & 0x3f];
diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
index 0333069..8b55a7b 100644
--- a/gcc/config/aarch64/aarch64.h
+++ b/gcc/config/aarch64/aarch64.h
@@ -468,10 +468,10 @@ enum target_cpus
TARGET_CPU_generic
};
-/* If there is no CPU defined at configure, use "generic" as default. */
+/* If there is no CPU defined at configure, use "cortex-a53" as default. */
#ifndef TARGET_CPU_DEFAULT
#define TARGET_CPU_DEFAULT \
- (TARGET_CPU_generic | (AARCH64_CPU_DEFAULT_FLAGS << 6))
+ (TARGET_CPU_cortexa53 | (AARCH64_CPU_DEFAULT_FLAGS << 6))
#endif
/* The processor for which instructions should be scheduled. */
diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md
index 758be47..d66b41d 100644
--- a/gcc/config/aarch64/aarch64.md
+++ b/gcc/config/aarch64/aarch64.md
@@ -317,7 +317,6 @@
(const_string "yes"))))
;; Scheduling
-(include "aarch64-generic.md")
(include "large.md")
(include "small.md")
(include "../arm/cortex-a53.md")