This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


[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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]