1 /* Copyright (C
) 2011-2014 Free Software Foundation
, Inc.
2 Contributed by ARM Ltd.
4 This file is part of GCC.
6 GCC is free software
; you can redistribute it and
/or modify it
7 under the terms of the GNU General Public License as published by
8 the Free Software Foundation
; either version
3, or (at your option
)
11 GCC is distributed in the hope that it will be useful
, but
12 WITHOUT ANY WARRANTY
; without even the implied warranty of
13 MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU
14 General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with GCC
; see the file COPYING3. If not see
18 <http
://www.gnu.org
/licenses
/>.
*/
20 /* This is a list of cores that implement AArch64.
22 Before using #include to read this file
, define a macro
:
24 AARCH64_CORE(CORE_NAME
, CORE_IDENT
, SCHEDULER_IDENT
, ARCH
, FLAGS
, COSTS
)
26 The CORE_NAME is the name of the core
, represented as a string constant.
27 The CORE_IDENT is the name of the core
, represented as an identifier.
28 The SCHEDULER_IDENT is the name of the core for which scheduling decisions
29 will be made
, represented as an identifier.
30 ARCH is the architecture revision implemented by the chip.
31 FLAGS are the bitwise
-or of the traits that apply to that core.
32 This need not include flags implied by the architecture.
33 COSTS is the name of the rtx_costs routine to use.
*/
35 /* V8 Architecture Processors.
*/
37 AARCH64_CORE("cortex-a53", cortexa53
, cortexa53
, 8, AARCH64_FL_FPSIMD | AARCH64_FL_CRC | AARCH64_FL_CRYPTO
, cortexa53
)
38 AARCH64_CORE("cortex-a57", cortexa15
, cortexa15
, 8, AARCH64_FL_FPSIMD | AARCH64_FL_CRC | AARCH64_FL_CRYPTO
, cortexa57
)
39 AARCH64_CORE("thunderx", thunderx
, cortexa53
, 8, AARCH64_FL_FPSIMD | AARCH64_FL_CRC | AARCH64_FL_CRYPTO
, thunderx
)
41 /* V8 big.LITTLE implementations.
*/
43 AARCH64_CORE("cortex-a57.cortex-a53", cortexa57cortexa53
, cortexa53
, 8, AARCH64_FL_FPSIMD | AARCH64_FL_CRC | AARCH64_FL_CRYPTO
, cortexa57
)