Commit 0446c9f3 by Zdenek Dvorak Committed by Zdenek Dvorak

re PR tree-optimization/29921 (internal compiler error: in set_lattice_value, at…

re PR tree-optimization/29921 (internal compiler error: in set_lattice_value, at tree-ssa-ccp.c:437)

	PR tree-optimization/29921
	* fold-const.c (operand_equal_p): Without HONOR_SIGNED_ZEROS, consider
	signed and unsigned zero equal.

	* gcc.dg/pr29921.c: New test.

From-SVN: r119102
parent cbad2281
2006-11-23 Zdenek Dvorak <dvorakz@suse.cz>
PR tree-optimization/29921
* fold-const.c (operand_equal_p): Without HONOR_SIGNED_ZEROS, consider
signed and unsigned zero equal.
2006-11-22 Peter Bergner <bergner@vnet.ibm.com>
* config/rs6000/rs6000.c (get_store_dest): New.
......
......@@ -2584,8 +2584,19 @@ operand_equal_p (tree arg0, tree arg1, unsigned int flags)
return tree_int_cst_equal (arg0, arg1);
case REAL_CST:
return REAL_VALUES_IDENTICAL (TREE_REAL_CST (arg0),
TREE_REAL_CST (arg1));
if (REAL_VALUES_IDENTICAL (TREE_REAL_CST (arg0),
TREE_REAL_CST (arg1)))
return 1;
if (!HONOR_SIGNED_ZEROS (TYPE_MODE (TREE_TYPE (arg0))))
{
/* If we do not distinguish between signed and unsigned zero,
consider them equal. */
if (real_zerop (arg0) && real_zerop (arg1))
return 1;
}
return 0;
case VECTOR_CST:
{
......
2006-11-23 Zdenek Dvorak <dvorakz@suse.cz>
PR tree-optimization/29921
* gcc.dg/pr29921.c: New test.
2006-11-22 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
PR fortran/29441
/* With -ffast-math, the latice value for t changes from -0.0 to 0.0 in this
testcase. */
/* { dg-do compile } */
/* { dg-options "-O2 -ffast-math" } */
double test (int param)
{
double a = 0.0, b = -1.0, t;
int i;
for (i = 0; i < 100; i++)
{
t = a * b;
if (param)
b = 2.0;
}
return t;
}
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