aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2003-06-30 00:51:45 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2003-06-29 22:51:45 +0000
commit41b3243ed3594cd369909e5d2770ebf277526b93 (patch)
treea93b7369bbf92d4b295f53fee4e3df3c3e1fcffa /gcc
parent64e97443585c1a9c6bb7dd963122f848cf781639 (diff)
downloadgcc-41b3243ed3594cd369909e5d2770ebf277526b93.zip
gcc-41b3243ed3594cd369909e5d2770ebf277526b93.tar.gz
gcc-41b3243ed3594cd369909e5d2770ebf277526b93.tar.bz2
regmove.c (regmove_optimize): Don't try to make src and dst match when they are in different modes.
* regmove.c (regmove_optimize): Don't try to make src and dst match when they are in different modes. From-SVN: r68682
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/regmove.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 621e59c..3698cae 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Mon Jun 30 00:50:43 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * regmove.c (regmove_optimize): Don't try to make src and dst match
+ when they are in different modes.
+
Sun Jun 29 23:06:32 CEST 2003 Jan Hubicka <jh@suse.cz>
* builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2): Avoid
diff --git a/gcc/regmove.c b/gcc/regmove.c
index 2639ebd..bafbe4c 100644
--- a/gcc/regmove.c
+++ b/gcc/regmove.c
@@ -1289,7 +1289,8 @@ regmove_optimize (f, nregs, regmove_dump_file)
if (GET_CODE (dst) != REG
|| REGNO (dst) < FIRST_PSEUDO_REGISTER
|| REG_LIVE_LENGTH (REGNO (dst)) < 0
- || RTX_UNCHANGING_P (dst))
+ || RTX_UNCHANGING_P (dst)
+ || GET_MODE (src) != GET_MODE (dst))
continue;
/* If the operands already match, then there is nothing to do. */