diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/regmove.c | 3 |
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)) |