Robert P. J. DAY says:
apparently, the patchset for gcc 4.2.1 applies properly to the
source for gcc 4.2.2 and gcc 4.2.3. so, if you want, you can simply
add support for those last two just by augmenting menuconfig and
adding a couple symlinks for those two directories. seems like a
cheap way to add a couple new versions.
1 diff -durN gcc-3.4.6.orig/gcc/flow.c gcc-3.4.6/gcc/flow.c
2 --- gcc-3.4.6.orig/gcc/flow.c 2005-09-01 22:51:09.000000000 +0200
3 +++ gcc-3.4.6/gcc/flow.c 2007-08-15 23:00:30.000000000 +0200
5 rtx set_src = SET_SRC (pc_set (BB_END (bb)));
6 rtx cond_true = XEXP (set_src, 0);
7 rtx reg = XEXP (cond_true, 0);
8 + enum rtx_code inv_cond;
10 if (GET_CODE (reg) == SUBREG)
11 reg = SUBREG_REG (reg);
12 @@ -1892,11 +1893,13 @@
13 in the form of a comparison of a register against zero.
14 If the condition is more complex than that, then it is safe
15 not to record any information. */
16 - if (GET_CODE (reg) == REG
17 + inv_cond = reversed_comparison_code (cond_true, BB_END (bb));
18 + if (inv_cond != UNKNOWN
19 + && GET_CODE (reg) == REG
20 && XEXP (cond_true, 1) == const0_rtx)
23 - = gen_rtx_fmt_ee (reverse_condition (GET_CODE (cond_true)),
24 + = gen_rtx_fmt_ee (inv_cond,
25 GET_MODE (cond_true), XEXP (cond_true, 0),
27 if (GET_CODE (XEXP (set_src, 1)) == PC)