regmove.c (regmove_optimize): Don't try to make src and dst match when they are in...
authorJan Hubicka <jh@suse.cz>
Sun, 29 Jun 2003 22:51:45 +0000 (00:51 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Sun, 29 Jun 2003 22:51:45 +0000 (22:51 +0000)
* regmove.c (regmove_optimize): Don't try to make src and dst match
when they are in different modes.

From-SVN: r68682

gcc/ChangeLog
gcc/regmove.c

index 621e59c393fc3eae0a5c312fc5e93bcfc22923d3..3698caeddc37006f5d645a6fa92e76d28628e36c 100644 (file)
@@ -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
index 2639ebd54f418003265eafb50b80abe5e45f67de..bafbe4c558ca020b2feffd996c04dfef1da034ab 100644 (file)
@@ -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.  */