mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-24 22:26:12 +08:00
[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
This commit is contained in:
parent
00ed7ad477
commit
02fdbd5beb
@ -1,3 +1,13 @@
|
||||
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".
|
||||
|
@ -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)
|
||||
|
@ -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")
|
@ -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];
|
||||
|
@ -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. */
|
||||
|
@ -317,7 +317,6 @@
|
||||
(const_string "yes"))))
|
||||
|
||||
;; Scheduling
|
||||
(include "aarch64-generic.md")
|
||||
(include "large.md")
|
||||
(include "small.md")
|
||||
(include "../arm/cortex-a53.md")
|
||||
|
Loading…
Reference in New Issue
Block a user