[PATCH 00/14] rs6000: Begin replacing built-in support

Segher Boessenkool segher@kernel.crashing.org
Fri Feb 14 21:27:00 GMT 2020


Hi!

On Fri, Feb 14, 2020 at 10:34:40AM -0800, Mike Stump wrote:
> On Feb 4, 2020, at 9:40 AM, Segher Boessenkool <segher@kernel.crashing.org> wrote:
> >> My intent is to make adding new built-in functions as simple as adding
> >> a few lines to a couple of files, and automatically generating as much
> >> of the initialization, overload resolution, and expansion logic as
> >> possible.  This patch series establishes the format of the input files
> >> and creates a new program (rs6000-genbif) to:
> > 
> > Let's call it rs6000-gen-builtins or similar.  Not as cryptic.
> 
> Or, config/gen-builtins.  :-)

As explained before, to get somewhere in a reasonable time, we first need
to do it for rs6000 only.  This patchset is solving an acute problem for
us, too, that is the *purpose* of it.

It remains to be seen how much of it can be used by other targets.
Pretending something is generic while it in fact is just a mass of
special cases isn't useful, it's just costly.

> Indeed, some of the older gcc port interfaces, for example, registers (FIXED_REGISTERS, CALL_REALLY_USED_REGISTERS, REG_ALLOC_ORDER, HARD_REGNO_CALLER_SAVE_MODE, REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGISTER_NAMES), I think would be a nice area for a generator as well.  Every port has registers, and yet, those interfaces are too clunky.

Yes...  Like, last year I renumbered the rs6000 registers.  Things have
to be changed in a bunch of tables, but also in a few other places that
you cannot generate the code for.  So on one hand a generator for this
certainly would have helped, but on the other hand, it isn't the holy
grail you might be after either.

> Just wanted to say, I like your plan.

:-)  It'll be a lot of work still, let's hope we can make it for GCC 11.


Segher



More information about the Gcc-patches mailing list