From: James Greenhalgh Date: Thu, 14 Nov 2013 09:56:30 +0000 (+0000) Subject: [AArch64] [-mtune cleanup 2/5] Tune for Cortex-A53 by default. X-Git-Tag: upstream/12.2.0~66626 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=02fdbd5beb0212b36d6c0afc473e9082ce74c696;p=platform%2Fupstream%2Fgcc.git [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 --- 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 + * 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 + * config/aarch64/aarch64.c (all_architectures): Remove "generic". 2013-11-14 Kyrylo Tkachov 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 -;; . - -;; 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")