[3.4-bib, Patch] rs6000 floating point multiply-add instructions

Geoff Keating geoffk@geoffk.org
Sat Nov 30 06:15:00 GMT 2002


> Date: Thu, 28 Nov 2002 03:40:04 +0100
> From: Segher Boessenkool <segher@koffie.nl>

> [Before this issue gets abandoned, unresolved, again, I'd better try to
> keep it alive this time...  So:]
> 
> David Edelsohn wrote:
> > 
> >         It unfortunately looks more complicated than I expected for GCC
> > combine to try to recognize the transformed, non-canonical versions of the
> > instructions.
> 
> I still think my original patch (the one that patches rs6000.md) is the best
> solution.  If -ffast-math is in effect, the "original" patterns are not
> canonical, and if it's not in effect, the "new" patterns can't ever match.
> So in either case only one of the patterns can ever match.

It's not a question of technical correctness; I'm sure your patch
works.  It's a question of what is the best way to design a
multi-target compiler.

> > I still am uncomfortable with a design that duplicates
> > instructions themselves.
> 
> Why is that?
> 
> >         Is it practical to represent the alternate RTL forms of the
> > instructions as GCC define_split so that the non-canonical forms are
> > converted to the canonical RTL instead of recognizing the non-canonical
> > RTL as instructions?
> 
> Maybe; I'll try and find out, if you really can't be moved to just do the
> machine description thing.

Please just try to make combine_simplify_rtx do the right thing.  It
is really not hard.

-- 
- Geoffrey Keating <geoffk@geoffk.org>



More information about the Gcc-patches mailing list