El lun, 22 sept 2025 a las 4:55, YunQiang Su (<[email protected]>) escribió:
>
> David Guillen Fandos <[email protected]> 于2025年9月20日周六 00:48写道:
> >
> > The MIPS Allegrex CPU is based on MIPS2 with some additional MIPS32r2
> > instructions and a few novel ones. Support for this CPU was added as of
> > binutils 2.41.
> >
> > gcc/ChangeLog:
> >
> >         * config/mips/mips-cpus.def (MIPS_CPU): Added a new CPU.
> >         * config/mips/mips-tables.opt: Regenerated table.
> >         * config/mips/mips.cc: Added cost table for the new CPU.
> >         * config/mips/mips.h (TARGET_ALLEGREX): Defined a new macro.
> >         (TUNE_ALLEGREX): Defined a new macro.
> >         (ISA_HAS_CONDMOVE): Added Allegrex CPU to the list.
> >         (ISA_HAS_LDC1_SDC1): Exclude Allegrex from the list.
> >         (ISA_HAS_COND_TRAP): Exclude Allegrex from the list.
> >         (ISA_HAS_COND_TRAPI): Exclude Allegrex from the list.
> >         (ISA_HAS_CLZ_CLO): Added Allegrex CPU to the list.
> >         (ISA_HAS_ROR): Added Allegrex CPU to the list.
> >         (ISA_HAS_WSBH): Added Allegrex CPU to the list.
> >         (ISA_HAS_SEB_SEH): Added Allegrex CPU to the list.
> >         (ISA_HAS_EXT_INS): Added Allegrex CPU to the list.
> >         (ISA_HAS_XFER_DELAY): Exclude Allegrex from the list.
> >         (ISA_HAS_HILO_INTERLOCKS): Added Allegrex CPU to the list.
> >         * config/mips/mips.md: Added Allegrex CPU as a new processor.
> >         * doc/invoke.texi: Documented Allegrex as a new arch
> >
> > Signed-off-by: David Guillen Fandos <[email protected]>
> > ---
> >  gcc/config/mips/mips-cpus.def   |   1 +
> >  gcc/config/mips/mips-tables.opt | 371 ++++++++++++++++----------------
> >  gcc/config/mips/mips.cc         |  14 ++
> >  gcc/config/mips/mips.h          |  21 +-
> >  gcc/config/mips/mips.md         |   3 +
> >  gcc/doc/invoke.texi             |   1 +
> >  6 files changed, 223 insertions(+), 188 deletions(-)
> >
> > diff --git a/gcc/config/mips/mips-cpus.def b/gcc/config/mips/mips-cpus.def
> > index dfc41162bf0..c45da84a77a 100644
> > --- a/gcc/config/mips/mips-cpus.def
> > +++ b/gcc/config/mips/mips-cpus.def
> > @@ -62,6 +62,7 @@ MIPS_CPU ("r3900", PROCESSOR_R3900, MIPS_ISA_MIPS1, 0)
> >
> >  /* MIPS II processors.  */
> >  MIPS_CPU ("r6000", PROCESSOR_R6000, MIPS_ISA_MIPS2, 0)
> > +MIPS_CPU ("allegrex", PROCESSOR_ALLEGREX, MIPS_ISA_MIPS2, 0)
> >
> >  /* MIPS III processors.  */
> >  MIPS_CPU ("r4000", PROCESSOR_R4000, MIPS_ISA_MIPS3, 0)
> > diff --git a/gcc/config/mips/mips-tables.opt 
> > b/gcc/config/mips/mips-tables.opt
> > index 027abd74048..5fccd9888b7 100644
> > --- a/gcc/config/mips/mips-tables.opt
> > +++ b/gcc/config/mips/mips-tables.opt
> > @@ -160,554 +160,557 @@ EnumValue
> >  Enum(mips_arch_opt_value) String(6k) Value(17)
> >
> >  EnumValue
> > -Enum(mips_arch_opt_value) String(r4000) Value(18) Canonical
> > +Enum(mips_arch_opt_value) String(allegrex) Value(18) Canonical
> >
>
> I am sorry that I guess we have an agreement that to put
>    Enum(mips_arch_opt_value) String(allegrex)
> to the end of the list. so that we can make the diff minimal.

Sorry about the misunderstanding! I reordered allegrex in
gcc/config/mips/mips.md instead, my bad!

The file gcc/config/mips/mips-tables.opt is autogenerated using the script
gcc/config/mips/genopt.sh by consuming the gcc/config/mips/mips-cpus.def
file, so in order to get this new CPU at the end of the .opt file, I would
need to move it to the end of the .def file (after "MIPS64 Release 6
processors"), right? I placed it after r6000 since Allegrex is a MIPS II
processor (plus minus some minor things).

Let me know if you still want this moved to the end or whether the current
position is acceptable.

Thank you!

Reply via email to