This is the mail archive of the
mailing list for the GCC project.
Re: RFC: Using mode and code macros in *.md files
- From: Joern Rennecke <joern dot rennecke at superh dot com>
- To: sje at cup dot hp dot com (Steve Ellcey)
- Cc: rsandifo at redhat dot com, zack at codesourcery dot com, gcc at gcc dot gnu dot org
- Date: Wed, 1 Sep 2004 13:00:44 +0100 (BST)
- Subject: Re: RFC: Using mode and code macros in *.md files
> One thought I had was this: If there were an IF mode (infinite
> precision), and a single basic floating point add for that mode
> (set (match_operand:IF ...)
> (plus:IF (match_operand:IF ...)
> (match_operand:IF ...)))
> and then there would be no basic add instruction for any other floating
> point mode (SF, DF, or XF) then GCC will extend any of those to IFmode
> to do the add. I tested that and GCC did the float_extends.
But that would make your instructions non-canonical, thus a number of
optimizers - in particular combine - will fail to match your patterns.
Unless you propose to change the canonical form to use extension to IF
in every operation, which would pretty much mean rewriting most of the
rtl optimizers and all the target ports...