OSDN Git Service

* regmove.c (regmove_optimize): Don't try to make src and dst match
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 29 Jun 2003 22:51:45 +0000 (22:51 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 29 Jun 2003 22:51:45 +0000 (22:51 +0000)
when they are in different modes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68682 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/regmove.c

index 621e59c..3698cae 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 2639ebd..bafbe4c 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.  */