diff options
Diffstat (limited to 'gcc')
| -rw-r--r-- | gcc/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/reorg.c | 11 |
2 files changed, 12 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cecfe5c..671c84d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2002-04-08 Richard Henderson <rth@redhat.com> + + * reorg.c (get_branch_condition): Use reversed_comparison_code. + 2002-04-09 Stephane Carrez <Stephane.Carrez@worldnet.fr> * config/m68hc11/larith.asm (__map_data_section): Fix condition diff --git a/gcc/reorg.c b/gcc/reorg.c index 984ec92..f4c484b 100644 --- a/gcc/reorg.c +++ b/gcc/reorg.c @@ -1086,9 +1086,14 @@ get_branch_condition (insn, target) || (GET_CODE (XEXP (src, 2)) == LABEL_REF && XEXP (XEXP (src, 2), 0) == target)) && XEXP (src, 1) == pc_rtx) - return gen_rtx_fmt_ee (reverse_condition (GET_CODE (XEXP (src, 0))), - GET_MODE (XEXP (src, 0)), - XEXP (XEXP (src, 0), 0), XEXP (XEXP (src, 0), 1)); + { + enum rtx_code rev; + rev = reversed_comparison_code (XEXP (src, 0), insn); + if (rev != UNKNOWN) + return gen_rtx_fmt_ee (rev, GET_MODE (XEXP (src, 0)), + XEXP (XEXP (src, 0), 0), + XEXP (XEXP (src, 0), 1)); + } return 0; } |
