This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [3.4-bib, Patch] rs6000 floating point multiply-add instructions
- From: Segher Boessenkool <segher at koffie dot nl>
- To: David Edelsohn <dje at watson dot ibm dot com>
- Cc: Geoff Keating <geoffk at geoffk dot org>,Andrew Pinski <pinskia at physics dot uc dot edu>,Segher Boessenkool <segher at chello dot nl>,Dale Johannesen <dalej at apple dot com>, gcc-patches at gcc dot gnu dot org
- Date: Thu, 28 Nov 2002 03:40:04 +0100
- Subject: Re: [3.4-bib, Patch] rs6000 floating point multiply-add instructions
- References: <jmwun9jt6j.fsf@desire.geoffk.org> <200211192214.RAA27332@makai.watson.ibm.com>
[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.
> 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.
Segher