/* Andes 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 */ xandesperf,
  /* UPPERCASE_NAME */ XANDESPERF,
  /* FULL_NAME */ "Andes performace extension",
  /* DESC */ "",
  /* URL */ ,
  /* DEP_EXTS */ ({}),
  /* SUPPORTED_VERSIONS */ ({{5, 0}}),
  /* FLAG_GROUP */ xandes,
  /* BITMASK_GROUP_ID */ BITMASK_NOT_YET_ALLOCATED,
  /* BITMASK_BIT_POSITION*/ BITMASK_NOT_YET_ALLOCATED,
  /* EXTRA_EXTENSION_FLAGS */ 0)

DEFINE_RISCV_EXT(
  /* NAME */ xandesbfhcvt,
  /* UPPERCASE_NAME */ XANDESBFHCVT,
  /* FULL_NAME */ "Andes bfloat16 conversion extension",
  /* DESC */ "",
  /* URL */ ,
  /* DEP_EXTS */ ({}),
  /* SUPPORTED_VERSIONS */ ({{5, 0}}),
  /* FLAG_GROUP */ xandes,
  /* BITMASK_GROUP_ID */ BITMASK_NOT_YET_ALLOCATED,
  /* BITMASK_BIT_POSITION*/ BITMASK_NOT_YET_ALLOCATED,
  /* EXTRA_EXTENSION_FLAGS */ 0)

DEFINE_RISCV_EXT(
  /* NAME */ xandesvbfhcvt,
  /* UPPERCASE_NAME */ XANDESVBFHCVT,
  /* FULL_NAME */ "Andes vector bfloat16 conversion extension",
  /* DESC */ "",
  /* URL */ ,
  /* DEP_EXTS */ ({}),
  /* SUPPORTED_VERSIONS */ ({{5, 0}}),
  /* FLAG_GROUP */ xandes,
  /* BITMASK_GROUP_ID */ BITMASK_NOT_YET_ALLOCATED,
  /* BITMASK_BIT_POSITION*/ BITMASK_NOT_YET_ALLOCATED,
  /* EXTRA_EXTENSION_FLAGS */ 0)

DEFINE_RISCV_EXT(
  /* NAME */ xandesvsintload,
  /* UPPERCASE_NAME */ XANDESVSINTLOAD,
  /* FULL_NAME */ "Andes vector INT4 load extension",
  /* DESC */ "",
  /* URL */ ,
  /* DEP_EXTS */ ({}),
  /* SUPPORTED_VERSIONS */ ({{5, 0}}),
  /* FLAG_GROUP */ xandes,
  /* BITMASK_GROUP_ID */ BITMASK_NOT_YET_ALLOCATED,
  /* BITMASK_BIT_POSITION*/ BITMASK_NOT_YET_ALLOCATED,
  /* EXTRA_EXTENSION_FLAGS */ 0)

DEFINE_RISCV_EXT(
  /* NAME */ xandesvpackfph,
  /* UPPERCASE_NAME */ XANDESVPACKFPH,
  /* FULL_NAME */ "Andes vector packed FP16 extension",
  /* DESC */ "",
  /* URL */ ,
  /* DEP_EXTS */ ({}),
  /* SUPPORTED_VERSIONS */ ({{5, 0}}),
  /* FLAG_GROUP */ xandes,
  /* BITMASK_GROUP_ID */ BITMASK_NOT_YET_ALLOCATED,
  /* BITMASK_BIT_POSITION*/ BITMASK_NOT_YET_ALLOCATED,
  /* EXTRA_EXTENSION_FLAGS */ 0)

DEFINE_RISCV_EXT(
  /* NAME */ xandesvdot,
  /* UPPERCASE_NAME */ XANDESVDOT,
  /* FULL_NAME */ "Andes vector dot product extension",
  /* DESC */ "",
  /* URL */ ,
  /* DEP_EXTS */ ({}),
  /* SUPPORTED_VERSIONS */ ({{5, 0}}),
  /* FLAG_GROUP */ xandes,
  /* BITMASK_GROUP_ID */ BITMASK_NOT_YET_ALLOCATED,
  /* BITMASK_BIT_POSITION*/ BITMASK_NOT_YET_ALLOCATED,
  /* EXTRA_EXTENSION_FLAGS */ 0)
