OSDN Git Service

* expr.c (convert_move): Handle moves between two CONCATs.
authoramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 11 Jun 2003 12:32:47 +0000 (12:32 +0000)
committeramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 11 Jun 2003 12:32:47 +0000 (12:32 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67760 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/expr.c

index 7a495fa..f1dbb9e 100644 (file)
@@ -1,3 +1,7 @@
+2003-06-11  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * expr.c (convert_move): Handle moves between two CONCATs.
+
 2003-06-11  Kazu Hirata  <kazu@cs.umass.edu>
 
        * config/h8300/h8300.h (RETURN_IN_MEMORY): Accept DImode if
index 4bcd978..eca5a95 100644 (file)
@@ -606,6 +606,13 @@ convert_move (to, from, unsignedp)
       return;
     }
 
+  if (GET_CODE (to) == CONCAT && GET_CODE (from) == CONCAT)
+    {
+      convert_move (XEXP (to, 0), XEXP (from, 0), unsignedp);
+      convert_move (XEXP (to, 1), XEXP (from, 1), unsignedp);
+      return;
+    }
+
   if (to_real != from_real)
     abort ();