fold-const.c (fold): Optimize any associative floating point operator with...

* fold-const.c (fold): Optimize any associative floating point
	operator with -funsafe-math-optimizations, not just MULT_EXPR.

From-SVN: r70348
This commit is contained in:
Roger Sayle 2003-08-12 01:43:31 +00:00 committed by Roger Sayle
parent e3bf220a46
commit af7b5c1c00
2 changed files with 8 additions and 5 deletions

View file

@ -1,3 +1,8 @@
2003-08-11 Roger Sayle <roger@eyesopen.com>
* fold-const.c (fold): Optimize any associative floating point
operator with -funsafe-math-optimizations, not just MULT_EXPR.
2003-08-11 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/lib1funcs.asm (__udivdi3): Add .type and .size

View file

@ -5803,13 +5803,11 @@ fold (tree expr)
associate:
/* In most languages, can't associate operations on floats through
parentheses. Rather than remember where the parentheses were, we
don't associate floats at all. It shouldn't matter much. However,
associating multiplications is only very slightly inaccurate, so do
that if -funsafe-math-optimizations is specified. */
don't associate floats at all, unless the user has specified
-funsafe-math-optimizations. */
if (! wins
&& (! FLOAT_TYPE_P (type)
|| (flag_unsafe_math_optimizations && code == MULT_EXPR)))
&& (! FLOAT_TYPE_P (type) || flag_unsafe_math_optimizations))
{
tree var0, con0, lit0, minus_lit0;
tree var1, con1, lit1, minus_lit1;