RFC: Using mode and code macros in *.md files
Joern Rennecke
joern.rennecke@superh.com
Wed Sep 1 12:20:00 GMT 2004
> 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...
More information about the Gcc
mailing list