From f302906571e3723a05f9ffdab31945638191579e Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Thu, 26 Jul 2001 15:23:07 +0000 Subject: [PATCH] regmove.c (regmove_optimize): Don't replace a reg with another reg of a different mode. * regmove.c (regmove_optimize): Don't replace a reg with another reg of a different mode. From-SVN: r44399 --- gcc/ChangeLog | 5 +++++ gcc/regmove.c | 3 +++ 2 files changed, 8 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8bc87889e78c..431fcff73a84 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2001-07-26 Kazu Hirata + + * regmove.c (regmove_optimize): Don't replace a reg with + another reg of a different mode. + 2001-07-26 Andrew MacLeod * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to diff --git a/gcc/regmove.c b/gcc/regmove.c index 7e4914335121..587acea68937 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)) -- 2.47.2