summaryrefslogtreecommitdiff
path: root/gcc/regmove.c
diff options
context:
space:
mode:
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-26 15:23:07 +0000
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-26 15:23:07 +0000
commite9378ef4402d46817576cf2db05f15b357b10968 (patch)
tree5ea867d251e380ffa592a47c4077c505752661ac /gcc/regmove.c
parent85de291ed5d11eab35e18498b64be4c807cb39f5 (diff)
downloadgcc-e9378ef4402d46817576cf2db05f15b357b10968.tar.gz
* regmove.c (regmove_optimize): Don't replace a reg with
another reg of a different mode. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44399 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/regmove.c')
-rw-r--r--gcc/regmove.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/regmove.c b/gcc/regmove.c
index 7e491433512..587acea6893 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))