aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/regmove.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8bc8788..431fcff 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2001-07-26 Kazu Hirata <kazu@hxi.com>
+
+ * regmove.c (regmove_optimize): Don't replace a reg with
+ another reg of a different mode.
+
2001-07-26 Andrew MacLeod <amacleod@redhat.com>
* params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
diff --git a/gcc/regmove.c b/gcc/regmove.c
index 7e49143..587acea 100644
--- a/gcc/regmove.c
+++ b/gcc/regmove.c
@@ -1244,6 +1244,9 @@ regmove_optimize (f, nregs, regmove_dump_file)
if (! regclass_compatible_p (src_class, dst_class))
continue;
+ if (GET_MODE (src) != GET_MODE (dst))
+ continue;
+
if (fixup_match_1 (insn, set, src, src_subreg, dst, pass,
op_no, match_no,
regmove_dump_file))