This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: -ffast-math and floating point reordering
On Fri, 2004-03-26 at 12:42, Joe Buck wrote:
> One possible representation in GIMPLE would be a flag indicating that a
> temporary can be, well, I'll call it "refactored" (feel free to suggest a
> better word). That is, given GIMPLE code like
>
> t1 = a + b;
> t2 = t1 + c;
> e = t2 + d;
>
> if the original Fortran input was
>
> e = a + b + c + d
>
> then t1 and t2 would be tagged as refactorable, while if the original
> input were
>
> d = ((a + b) + c) + d
>
> then t1 and t2 would not be so tagged. In the first case, we would
> probably want to produce
>
> t1 = a + b;
> t2 = c + d;
> e = t1 + t2;
>
> since the first two additions can now be performed in parallel. But
> this transformation is not legal in the second case.
>
Yeah. We sort of discussed adding additional PLUS_EXPR operands and/or
attributes at last year's summit. But I think that was the extent of
it. IIRC, there was beer involved, so I doubt anybody was taking notes.
Diego.