blob: bf5aaba49c3898f2445132568e89e27ff21355fc [file] [log] [blame]
/* List of supported core and tune info for RISC-V.
Copyright (C) 2020-2021 Free Software Foundation, Inc.
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/>. */
/* This is a list of cores that implement RISC-V.
Before using #include to read this file, define a macro:
RISCV_CORE(CORE_NAME, ARCH, MICRO_ARCH, TUNE_INFO)
The CORE_NAME is the name of the core, represented as a string.
The ARCH is the default arch of the core, represented as a string,
can be NULL if no default arch.
The MICRO_ARCH is the name of the core for which scheduling decisions
will be made, represented as an identifier.
The TUNE_INFO is the detail cost model for this core, represented as an
identifier, reference to riscv-tunes.def. */
RISCV_CORE("sifive-e20", "rv32imc", "rocket")
RISCV_CORE("sifive-e21", "rv32imac", "rocket")
RISCV_CORE("sifive-e24", "rv32imafc", "rocket")
RISCV_CORE("sifive-e31", "rv32imac", "sifive-3-series")
RISCV_CORE("sifive-e34", "rv32imafc", "sifive-3-series")
RISCV_CORE("sifive-e76", "rv32imafc", "sifive-7-series")
RISCV_CORE("sifive-s21", "rv64imac", "rocket")
RISCV_CORE("sifive-s51", "rv64imac", "sifive-5-series")
RISCV_CORE("sifive-s54", "rv64imafdc", "sifive-5-series")
RISCV_CORE("sifive-s76", "rv64imafdc", "sifive-7-series")
RISCV_CORE("sifive-u54", "rv64imafdc", "sifive-5-series")
RISCV_CORE("sifive-u74", "rv64imafdc", "sifive-7-series")
#undef RISCV_CORE