blob: 327d2ae0d39590e515f572df352abe257164da9d [file] [log] [blame]
/* T-head extension definition file for RISC-V.
Copyright (C) 2025 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/>.
Please run `make riscv-regen` in build folder to make sure updated anything.
Format of DEFINE_RISCV_EXT, please refer to riscv-ext.def. */
DEFINE_RISCV_EXT(
/* NAME */ xtheadba,
/* UPPERCAE_NAME */ XTHEADBA,
/* FULL_NAME */ "T-head address calculation extension",
/* DESC */ "",
/* URL */ ,
/* DEP_EXTS */ ({}),
/* SUPPORTED_VERSIONS */ ({{1, 0}}),
/* FLAG_GROUP */ xthead,
/* BITMASK_GROUP_ID */ BITMASK_NOT_YET_ALLOCATED,
/* BITMASK_BIT_POSITION*/ BITMASK_NOT_YET_ALLOCATED,
/* EXTRA_EXTENSION_FLAGS */ 0)
DEFINE_RISCV_EXT(
/* NAME */ xtheadbb,
/* UPPERCAE_NAME */ XTHEADBB,
/* FULL_NAME */ "T-head basic bit-manipulation extension",
/* DESC */ "",
/* URL */ ,
/* DEP_EXTS */ ({}),
/* SUPPORTED_VERSIONS */ ({{1, 0}}),
/* FLAG_GROUP */ xthead,
/* BITMASK_GROUP_ID */ BITMASK_NOT_YET_ALLOCATED,
/* BITMASK_BIT_POSITION*/ BITMASK_NOT_YET_ALLOCATED,
/* EXTRA_EXTENSION_FLAGS */ 0)
DEFINE_RISCV_EXT(
/* NAME */ xtheadbs,
/* UPPERCAE_NAME */ XTHEADBS,
/* FULL_NAME */ "T-head single-bit instructions extension",
/* DESC */ "",
/* URL */ ,
/* DEP_EXTS */ ({}),
/* SUPPORTED_VERSIONS */ ({{1, 0}}),
/* FLAG_GROUP */ xthead,
/* BITMASK_GROUP_ID */ BITMASK_NOT_YET_ALLOCATED,
/* BITMASK_BIT_POSITION*/ BITMASK_NOT_YET_ALLOCATED,
/* EXTRA_EXTENSION_FLAGS */ 0)
DEFINE_RISCV_EXT(
/* NAME */ xtheadcmo,
/* UPPERCAE_NAME */ XTHEADCMO,
/* FULL_NAME */ "T-head cache management operations extension",
/* DESC */ "",
/* URL */ ,
/* DEP_EXTS */ ({}),
/* SUPPORTED_VERSIONS */ ({{1, 0}}),
/* FLAG_GROUP */ xthead,
/* BITMASK_GROUP_ID */ BITMASK_NOT_YET_ALLOCATED,
/* BITMASK_BIT_POSITION*/ BITMASK_NOT_YET_ALLOCATED,
/* EXTRA_EXTENSION_FLAGS */ 0)
DEFINE_RISCV_EXT(
/* NAME */ xtheadcondmov,
/* UPPERCAE_NAME */ XTHEADCONDMOV,
/* FULL_NAME */ "T-head conditional move extension",
/* DESC */ "",
/* URL */ ,
/* DEP_EXTS */ ({}),
/* SUPPORTED_VERSIONS */ ({{1, 0}}),
/* FLAG_GROUP */ xthead,
/* BITMASK_GROUP_ID */ BITMASK_NOT_YET_ALLOCATED,
/* BITMASK_BIT_POSITION*/ BITMASK_NOT_YET_ALLOCATED,
/* EXTRA_EXTENSION_FLAGS */ 0)
DEFINE_RISCV_EXT(
/* NAME */ xtheadfmemidx,
/* UPPERCAE_NAME */ XTHEADFMEMIDX,
/* FULL_NAME */ "T-head indexed memory operations for floating-point registers extension",
/* DESC */ "",
/* URL */ ,
/* DEP_EXTS */ ({}),
/* SUPPORTED_VERSIONS */ ({{1, 0}}),
/* FLAG_GROUP */ xthead,
/* BITMASK_GROUP_ID */ BITMASK_NOT_YET_ALLOCATED,
/* BITMASK_BIT_POSITION*/ BITMASK_NOT_YET_ALLOCATED,
/* EXTRA_EXTENSION_FLAGS */ 0)
DEFINE_RISCV_EXT(
/* NAME */ xtheadfmv,
/* UPPERCAE_NAME */ XTHEADFMV,
/* FULL_NAME */ "T-head double floating-point high-bit data transmission extension",
/* DESC */ "",
/* URL */ ,
/* DEP_EXTS */ ({}),
/* SUPPORTED_VERSIONS */ ({{1, 0}}),
/* FLAG_GROUP */ xthead,
/* BITMASK_GROUP_ID */ BITMASK_NOT_YET_ALLOCATED,
/* BITMASK_BIT_POSITION*/ BITMASK_NOT_YET_ALLOCATED,
/* EXTRA_EXTENSION_FLAGS */ 0)
DEFINE_RISCV_EXT(
/* NAME */ xtheadint,
/* UPPERCAE_NAME */ XTHEADINT,
/* FULL_NAME */ "T-head acceleration interruption extension",
/* DESC */ "",
/* URL */ ,
/* DEP_EXTS */ ({}),
/* SUPPORTED_VERSIONS */ ({{1, 0}}),
/* FLAG_GROUP */ xthead,
/* BITMASK_GROUP_ID */ BITMASK_NOT_YET_ALLOCATED,
/* BITMASK_BIT_POSITION*/ BITMASK_NOT_YET_ALLOCATED,
/* EXTRA_EXTENSION_FLAGS */ 0)
DEFINE_RISCV_EXT(
/* NAME */ xtheadmac,
/* UPPERCAE_NAME */ XTHEADMAC,
/* FULL_NAME */ "T-head multiply-accumulate extension",
/* DESC */ "",
/* URL */ ,
/* DEP_EXTS */ ({}),
/* SUPPORTED_VERSIONS */ ({{1, 0}}),
/* FLAG_GROUP */ xthead,
/* BITMASK_GROUP_ID */ BITMASK_NOT_YET_ALLOCATED,
/* BITMASK_BIT_POSITION*/ BITMASK_NOT_YET_ALLOCATED,
/* EXTRA_EXTENSION_FLAGS */ 0)
DEFINE_RISCV_EXT(
/* NAME */ xtheadmemidx,
/* UPPERCAE_NAME */ XTHEADMEMIDX,
/* FULL_NAME */ "T-head indexed memory operation extension",
/* DESC */ "",
/* URL */ ,
/* DEP_EXTS */ ({}),
/* SUPPORTED_VERSIONS */ ({{1, 0}}),
/* FLAG_GROUP */ xthead,
/* BITMASK_GROUP_ID */ BITMASK_NOT_YET_ALLOCATED,
/* BITMASK_BIT_POSITION*/ BITMASK_NOT_YET_ALLOCATED,
/* EXTRA_EXTENSION_FLAGS */ 0)
DEFINE_RISCV_EXT(
/* NAME */ xtheadmempair,
/* UPPERCAE_NAME */ XTHEADMEMPAIR,
/* FULL_NAME */ "T-head two-GPR memory operation extension",
/* DESC */ "",
/* URL */ ,
/* DEP_EXTS */ ({}),
/* SUPPORTED_VERSIONS */ ({{1, 0}}),
/* FLAG_GROUP */ xthead,
/* BITMASK_GROUP_ID */ BITMASK_NOT_YET_ALLOCATED,
/* BITMASK_BIT_POSITION*/ BITMASK_NOT_YET_ALLOCATED,
/* EXTRA_EXTENSION_FLAGS */ 0)
DEFINE_RISCV_EXT(
/* NAME */ xtheadsync,
/* UPPERCAE_NAME */ XTHEADSYNC,
/* FULL_NAME */ "T-head multi-core synchronization extension",
/* DESC */ "",
/* URL */ ,
/* DEP_EXTS */ ({}),
/* SUPPORTED_VERSIONS */ ({{1, 0}}),
/* FLAG_GROUP */ xthead,
/* BITMASK_GROUP_ID */ BITMASK_NOT_YET_ALLOCATED,
/* BITMASK_BIT_POSITION*/ BITMASK_NOT_YET_ALLOCATED,
/* EXTRA_EXTENSION_FLAGS */ 0)
DEFINE_RISCV_EXT(
/* NAME */ xtheadvector,
/* UPPERCAE_NAME */ XTHEADVECTOR,
/* FULL_NAME */ "xtheadvector extension",
/* DESC */ "",
/* URL */ ,
/* DEP_EXTS */ ({}),
/* SUPPORTED_VERSIONS */ ({{1, 0}}),
/* FLAG_GROUP */ xthead,
/* BITMASK_GROUP_ID */ BITMASK_NOT_YET_ALLOCATED,
/* BITMASK_BIT_POSITION*/ BITMASK_NOT_YET_ALLOCATED,
/* EXTRA_EXTENSION_FLAGS */ 0)