(convert_move): When truncating, call force_reg first if

it is something that gen_lowpart won't understand.

From-SVN: r5287
This commit is contained in:
Jim Wilson 1993-09-08 11:58:14 -07:00
parent 054b53fe74
commit 431a6ecab3

View File

@ -870,6 +870,13 @@ convert_move (to, from, unsignedp)
if (GET_MODE_BITSIZE (from_mode) > BITS_PER_WORD
&& GET_MODE_BITSIZE (to_mode) <= BITS_PER_WORD)
{
if (!((GET_CODE (from) == MEM
&& ! MEM_VOLATILE_P (from)
&& direct_load[(int) to_mode]
&& ! mode_dependent_address_p (XEXP (from, 0)))
|| GET_CODE (from) == REG
|| GET_CODE (from) == SUBREG))
from = force_reg (from_mode, from);
convert_move (to, gen_lowpart (word_mode, from), 0);
return;
}