/* 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 . 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)