(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:
parent
054b53fe74
commit
431a6ecab3
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user