+++ /dev/null
---- gcc-3.4.2/gcc/flow.c.orig 2004-02-28 04:39:19.000000000 +0100
-+++ gcc-3.4.2/gcc/flow.c 2004-09-16 19:39:39.512234032 +0200
-@@ -1878,19 +1878,23 @@
- rtx set_src = SET_SRC (pc_set (BB_END (bb)));
- rtx cond_true = XEXP (set_src, 0);
- rtx reg = XEXP (cond_true, 0);
-+ enum rtx_code inv_cond;
-
- if (GET_CODE (reg) == SUBREG)
- reg = SUBREG_REG (reg);
-
- /* We can only track conditional lifetimes if the condition is
-- in the form of a comparison of a register against zero.
-- If the condition is more complex than that, then it is safe
-- not to record any information. */
-- if (GET_CODE (reg) == REG
-+ in the form of a reversible comparison of a register against
-+ zero. If the condition is more complex than that, then it is
-+ safe not to record any information. */
-+
-+ inv_cond = reversed_comparison_code (cond_true, BB_END (bb));
-+ if (inv_cond != UNKNOWN
-+ && GET_CODE (reg) == REG
- && XEXP (cond_true, 1) == const0_rtx)
- {
- rtx cond_false
-- = gen_rtx_fmt_ee (reverse_condition (GET_CODE (cond_true)),
-+ = gen_rtx_fmt_ee (inv_cond,
- GET_MODE (cond_true), XEXP (cond_true, 0),
- XEXP (cond_true, 1));
- if (GET_CODE (XEXP (set_src, 1)) == PC)