Moving RISC-V Profiles definations into 'riscv-profiles.def'. Add comments for
'riscv_profiles'.

gcc/ChangeLog:

        * common/config/riscv/riscv-common.cc (struct riscv_profiles): Add 
comments.
        (RISCV_PROFILE): Removed.
        * config/riscv/riscv-profiles.def: New file.

---
 gcc/common/config/riscv/riscv-common.cc | 64 +++----------------
 gcc/config/riscv/riscv-profiles.def     | 82 +++++++++++++++++++++++++
 2 files changed, 91 insertions(+), 55 deletions(-)
 create mode 100644 gcc/config/riscv/riscv-profiles.def

diff --git a/gcc/common/config/riscv/riscv-common.cc 
b/gcc/common/config/riscv/riscv-common.cc
index a165506f410..efa2a45a640 100644
--- a/gcc/common/config/riscv/riscv-common.cc
+++ b/gcc/common/config/riscv/riscv-common.cc
@@ -262,67 +262,21 @@ struct riscv_ext_version
   int minor_version;
 };
 
-struct riscv_profiles
-{
+/* Information about one Profile we know about.  */
+struct riscv_profiles {
+  /* This Profile's name.  */
   const char *profile_name;
+
+  /* This Profile's arch canonical string.  */
   const char *profile_string;
 };
 
-/* This table records the mapping form RISC-V Profiles into march string.  */
 static const riscv_profiles riscv_profiles_table[] =
 {
-  /* RVI20U only contains the base extension 'i' as mandatory extension.  */
-  {"rvi20u64", "rv64i"},
-  {"rvi20u32", "rv32i"},
-
-  /* RVA20U contains the 'i,m,a,f,d,c,zicsr,zicntr,ziccif,ziccrse,ziccamoa,
-     zicclsm,za128rs' as mandatory extensions.  */
-  {"rva20u64", "rv64imafdc_zicsr_zicntr_ziccif_ziccrse_ziccamoa"
-   "_zicclsm_za128rs"},
-
-  /* RVA22U contains the 'i,m,a,f,d,c,zicsr,zihintpause,zba,zbb,zbs,zicntr,
-     zihpm,ziccif,ziccrse,ziccamoa, zicclsm,zic64b,za64rs,zicbom,zicbop,zicboz,
-     zfhmin,zkt' as mandatory extensions.  */
-  {"rva22u64", "rv64imafdc_zicsr_zicntr_ziccif_ziccrse_ziccamoa"
-   "_zicclsm_zic64b_za64rs_zihintpause_zba_zbb_zbs_zicbom_zicbop"
-   "_zicboz_zfhmin_zkt"},
-
-  /* RVA23 contains all mandatory base ISA for RVA22U64 and the new extension
-     'v,zihintntl,zvfhmin,zvbb,zvkt,zicond,zimop,zcmop,zfa,zawrs' as mandatory
-     extensions.  */
-  {"rva23u64", "rv64imafdcbv_zicsr_zicntr_zihpm_ziccif_ziccrse_ziccamoa"
-   "_zicclsm_zic64b_za64rs_zihintpause_zba_zbb_zbs_zicbom_zicbop"
-   "_zicboz_zfhmin_zkt_zvfhmin_zvbb_zvkt_zihintntl_zicond_zimop_zcmop_zcb"
-   "_zfa_zawrs_supm"},
-
-  /* RVA23S contains all mandatory base ISA for RVA23U64 and the privileged
-     extensions as mandatory extensions.  */
-  {"rva23s64", "rv64imafdcbv_zicsr_zicntr_zihpm_ziccif_ziccrse_ziccamoa"
-   "_zicclsm_zic64b_za64rs_zihintpause_zba_zbb_zbs_zicbom_zicbop"
-   "_zicboz_zfhmin_zkt_zvfhmin_zvbb_zvkt_zihintntl_zicond_zimop_zcmop_zcb"
-   "_zfa_zawrs_svbare_svade_ssccptr_sstvecd_sstvala_sscounterenw_svpbmt"
-   "_svinval_svnapot_sstc_sscofpmf_ssnpm_ssu64xl_sha_supm"
-  },
-
-  /* RVB23 contains all mandatory base ISA for RVA22U64 and the new extension
-     'zihintntl,zicond,zimop,zcmop,zfa,zawrs' as mandatory
-     extensions.  */
-  {"rvb23u64", "rv64imafdcb_zicsr_zicntr_zihpm_ziccif_ziccrse_ziccamoa"
-   "_zicclsm_zic64b_za64rs_zihintpause_zba_zbb_zbs_zicbom_zicbop"
-   "_zicboz_zfhmin_zkt_zihintntl_zicond_zimop_zcmop_zcb"
-   "_zfa_zawrs"},
-
-  /* RVB23S contains all mandatory base ISA for RVB23U64 and the privileged
-     extensions as mandatory extensions.  */
-  {"rvb23s64", "rv64imafdcb_zicsr_zicntr_zihpm_ziccif_ziccrse_ziccamoa"
-   "_zicclsm_zic64b_za64rs_zihintpause_zba_zbb_zbs_zicbom_zicbop"
-   "_zicboz_zfhmin_zkt_zvfhmin_zvbb_zvkt_zihintntl_zicond_zimop_zcmop_zcb"
-   "_zfa_zawrs_svbare_svade_ssccptr_sstvecd_sstvala_sscounterenw_svpbmt"
-   "_svinval_svnapot_sstc_sscofpmf_ssu64xl_supm"
-  },
-
-  /* Terminate the list.  */
-  {NULL, NULL}
+#define RISCV_PROFILE(PROFILE_NAME, ARCH) \
+    {PROFILE_NAME, ARCH},
+#include "../../../config/riscv/riscv-profiles.def"
+    {NULL, NULL}
 };
 
 static const riscv_cpu_info riscv_cpu_tables[] =
diff --git a/gcc/config/riscv/riscv-profiles.def 
b/gcc/config/riscv/riscv-profiles.def
new file mode 100644
index 00000000000..741c4719b37
--- /dev/null
+++ b/gcc/config/riscv/riscv-profiles.def
@@ -0,0 +1,82 @@
+/* List of supported core and tune info 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/>.  */
+
+/* This is a list of RISC-V Profiles defination.
+
+   Before using #include to read this file, define a macro:
+
+      RISCV_PROFILE(PROFILE_NAME, ARCH)
+
+   The PROFILE_NAME is the name of the profile, represented as a string.
+   The ARCH is the default arch of the core, represented as a string.  */
+
+#ifndef RISCV_PROFILE
+#define RISCV_PROFILE(PROFILE_NAME, ARCH)
+#endif
+
+/* RVI20U only contains the base extension 'i' as mandatory extension.  */
+RISCV_PROFILE("rvi20u64",      "rv64i")
+RISCV_PROFILE("rvi20u32",      "rv32i")
+
+/* RVA20U contains the 'i,m,a,f,d,c,zicsr,zicntr,ziccif,ziccrse,ziccamoa,
+   zicclsm,za128rs' as mandatory extensions.  */
+RISCV_PROFILE("rva20u64",     "rv64imafdc_zicsr_zicntr_ziccif_ziccrse_ziccamoa"
+                            "_zicclsm_za128rs")
+
+/* RVA22U contains the 'i,m,a,f,d,c,zicsr,zihintpause,zba,zbb,zbs,zicntr,
+   zihpm,ziccif,ziccrse,ziccamoa, zicclsm,zic64b,za64rs,zicbom,zicbop,zicboz,
+   zfhmin,zkt' as mandatory extensions.  */
+RISCV_PROFILE("rva22u64",     "rv64imafdc_zicsr_zicntr_ziccif_ziccrse_ziccamoa"
+                            
"_zicclsm_zic64b_za64rs_zihintpause_zba_zbb_zbs_zicbom_zicbop"
+                            "_zicboz_zfhmin_zkt")
+
+/* RVA23 contains all mandatory base ISA for RVA22U64 and the new extension
+   'v,zihintntl,zvfhmin,zvbb,zvkt,zicond,zimop,zcmop,zfa,zawrs' as mandatory
+   extensions.  */
+RISCV_PROFILE("rva23u64",     "rv64imafdcbv_zicsr_zicntr_zihpm_ziccif_ziccrse"
+                            
"_ziccamoa_zicclsm_zic64b_za64rs_zihintpause_zba_zbb_zbs"
+                                
"_zicbom_zicbop_zicboz_zfhmin_zkt_zvfhmin_zvbb_zvkt_zihintntl"
+                                "_zicond_zimop_zcmop_zcb_zfa_zawrs_supm")
+
+/* RVA23S contains all mandatory base ISA for RVA23U64 and the privileged
+   extensions as mandatory extensions.  */
+RISCV_PROFILE("rva23s64",     "rv64imafdcbv_zicsr_zicntr_zihpm_ziccif_ziccrse"
+                            
"_ziccamoa_zicclsm_zic64b_za64rs_zihintpause_zba_zbb_zbs"
+                                
"_zicbom_zicbop_zicboz_zfhmin_zkt_zvfhmin_zvbb_zvkt_zihintntl"
+                                
"_zicond_zimop_zcmop_zcb_zfa_zawrs_svbare_svade_ssccptr"
+                                
"_sstvecd_sstvala_sscounterenw_svpbmt_svinval_svnapot_sstc"
+                                "_sscofpmf_ssnpm_ssu64xl_sha_supm")
+
+/* RVB23 contains all mandatory base ISA for RVA22U64 and the new extension
+   'zihintntl,zicond,zimop,zcmop,zfa,zawrs' as mandatory extensions.  */
+RISCV_PROFILE("rvb23u64",     "rv64imafdcb_zicsr_zicntr_zihpm_ziccif_ziccrse"
+                            
"_ziccamoa_zicclsm_zic64b_za64rs_zihintpause_zba_zbb_zbs"
+                                
"_zicbom_zicbop_zicboz_zfhmin_zkt_zihintntl_zicond_zimop"
+                                "_zcmop_zcb")
+
+/* RVB23S contains all mandatory base ISA for RVB23U64 and the privileged
+   extensions as mandatory extensions.  */
+RISCV_PROFILE("rvb23s64",     "rv64imafdcb_zicsr_zicntr_zihpm_ziccif_ziccrse"
+                            
"_ziccamoa_zicclsm_zic64b_za64rs_zihintpause_zba_zbb_zbs"
+                                
"_zicbom_zicbop_zicboz_zfhmin_zkt_zvfhmin_zvbb_zvkt"
+                                
"_zihintntl_zicond_zimop_zcmop_zcb_zfa_zawrs_svbare_svade"
+                                
"_ssccptr_sstvecd_sstvala_sscounterenw_svpbmt_svinval_svnapot"
+                                "_sstc_sscofpmf_ssu64xl_supm")
+
+#undef RISCV_PROFILE
-- 
2.43.0

Reply via email to