combine.c (apply_distributive_law): Enable "distributive" floating point optimizations with -funsafe-math-optimizations.
* combine.c (apply_distributive_law): Enable "distributive" floating point optimizations with -funsafe-math-optimizations. From-SVN: r72334
This commit is contained in:
parent
379f1861d3
commit
2981fafefc
@ -1,3 +1,8 @@
|
||||
2003-10-11 Roger Sayle <roger@eyesopen.com>
|
||||
|
||||
* combine.c (apply_distributive_law): Enable "distributive" floating
|
||||
point optimizations with -funsafe-math-optimizations.
|
||||
|
||||
2003-10-11 Andrew Pinski <pinskia@physics.uc.edu>
|
||||
|
||||
* genmodes.c (emit_mode_mask) Change MASK to MODE_MASK.
|
||||
|
@ -7791,14 +7791,14 @@ static rtx
|
||||
apply_distributive_law (rtx x)
|
||||
{
|
||||
enum rtx_code code = GET_CODE (x);
|
||||
enum rtx_code inner_code;
|
||||
rtx lhs, rhs, other;
|
||||
rtx tem;
|
||||
enum rtx_code inner_code;
|
||||
|
||||
/* Distributivity is not true for floating point.
|
||||
It can change the value. So don't do it.
|
||||
-- rms and moshier@world.std.com. */
|
||||
if (FLOAT_MODE_P (GET_MODE (x)))
|
||||
/* Distributivity is not true for floating point as it can change the
|
||||
value. So we don't do it unless -funsafe-math-optimizations. */
|
||||
if (FLOAT_MODE_P (GET_MODE (x))
|
||||
&& ! flag_unsafe_math_optimizations)
|
||||
return x;
|
||||
|
||||
/* The outer operation can only be one of the following: */
|
||||
@ -7806,7 +7806,8 @@ apply_distributive_law (rtx x)
|
||||
&& code != PLUS && code != MINUS)
|
||||
return x;
|
||||
|
||||
lhs = XEXP (x, 0), rhs = XEXP (x, 1);
|
||||
lhs = XEXP (x, 0);
|
||||
rhs = XEXP (x, 1);
|
||||
|
||||
/* If either operand is a primitive we can't do anything, so get out
|
||||
fast. */
|
||||
|
Loading…
Reference in New Issue
Block a user