From 06765df19545ddb8ce0eded8bf58fd73a2a5b92e Mon Sep 17 00:00:00 2001 From: "J\"orn Rennecke" Date: Wed, 11 Jun 2003 12:32:47 +0000 Subject: [PATCH] * expr.c (convert_move): Handle moves between two CONCATs. From-SVN: r67760 --- gcc/ChangeLog | 4 ++++ gcc/expr.c | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7a495fa43a6..f1dbb9e6714 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2003-06-11 J"orn Rennecke + + * expr.c (convert_move): Handle moves between two CONCATs. + 2003-06-11 Kazu Hirata * config/h8300/h8300.h (RETURN_IN_MEMORY): Accept DImode if diff --git a/gcc/expr.c b/gcc/expr.c index 4bcd978d58f..eca5a95abd2 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -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 (); -- 2.30.2