Commit 805f1694 by Jeffrey A Law Committed by Jeff Law

combine.c (known_cond): Check mode of each operand to determine if COND is…

combine.c (known_cond): Check mode of each operand to determine if COND is comparing floating point values.

        * combine.c (known_cond): Check mode of each operand to determine
        if COND is comparing floating point values.

From-SVN: r47855
parent 9aaceb4b
Mon Dec 10 15:54:27 2001 Jeffrey A Law (law@cygnus.com)
* combine.c (known_cond): Check mode of each operand to determine
if COND is comparing floating point values.
2001-12-10 David Edelsohn <edelsohn@gnu.org>
* rs6000.h (processor_type): Add PPC405.
......
......@@ -7351,8 +7351,14 @@ known_cond (x, cond, reg, val)
if (side_effects_p (x))
return x;
if (cond == EQ && rtx_equal_p (x, reg) && !FLOAT_MODE_P (cond))
/* If either operand of the condition is a floating point value,
then we have to avoid collapsing an EQ comparison. */
if (cond == EQ
&& rtx_equal_p (x, reg)
&& ! FLOAT_MODE_P (GET_MODE (x))
&& ! FLOAT_MODE_P (GET_MODE (val)))
return val;
if (cond == UNEQ && rtx_equal_p (x, reg))
return val;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment