[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