This is the mail archive of the gcc@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: 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...


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