[Bug rtl-optimization/26235] [4.2 Regression] FAIL: gcc.c-torture/execute/ieee/fp-cmp-8l.c execution at -O1, -O2 and -Os
rakdver at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sun Feb 12 21:12:00 GMT 2006
------- Comment #9 from rakdver at gcc dot gnu dot org 2006-02-12 21:12 -------
This should fix the problem (could you please verify it?). I am really
surprised this problem did not show on other architectures.
Index: loop-invariant.c
===================================================================
*** loop-invariant.c (revision 110850)
--- loop-invariant.c (working copy)
*************** hash_invariant_expr_1 (rtx insn, rtx x)
*** 292,297 ****
--- 292,299 ----
for (j = 0; j < XVECLEN (x, i); j++)
val ^= hash_invariant_expr_1 (insn, XVECEXP (x, i, j));
}
+ else if (fmt[i] == 'i' || fmt[i] == 'n')
+ val ^= XINT (x, i);
}
return val;
*************** invariant_expr_equal_p (rtx insn1, rtx e
*** 373,378 ****
--- 375,388 ----
return false;
}
}
+ else if (fmt[i] == 'i' || fmt[i] == 'n')
+ {
+ if (XINT (e1, i) != XINT (e2, i))
+ return false;
+ }
+ /* Unhandled type of subexpression, we fail conservatively. */
+ else
+ return false;
}
return true;
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26235
More information about the Gcc-bugs
mailing list