summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2002-04-09 12:45:20 -0700
committerRichard Henderson <rth@gcc.gnu.org>2002-04-09 12:45:20 -0700
commit3429579991a67f01bb6339b92a7e1abc2ab08ea0 (patch)
tree2ba63e77dc423874fc8e72ea750653afaab220be
parente8766a39731cfa919099d8d1111f7a1203349d9f (diff)
downloadgcc-3429579991a67f01bb6339b92a7e1abc2ab08ea0.tar.gz
* reorg.c (get_branch_condition): Use reversed_comparison_code.
From-SVN: r52090
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/reorg.c11
2 files changed, 12 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cecfe5c0a3d..671c84da659 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 984ec926aae..f4c484bcf71 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;
}