Commit 930b4e39 by Richard Kenner

(convert_move): When {zero,sign}_extending, allow a wider intermediate

than to_mode if truncation is a no-op.

From-SVN: r7306
parent 9c4dcbc7
......@@ -1043,8 +1043,10 @@ convert_move (to, from, unsignedp)
/* Search for a mode to convert via. */
for (intermediate = from_mode; intermediate != VOIDmode;
intermediate = GET_MODE_WIDER_MODE (intermediate))
if ((can_extend_p (to_mode, intermediate, unsignedp)
!= CODE_FOR_nothing)
if (((can_extend_p (to_mode, intermediate, unsignedp)
!= CODE_FOR_nothing)
|| (GET_MODE_SIZE (to_mode) < GET_MODE_SIZE (intermediate)
&& TRULY_NOOP_TRUNCATION (to_mode, intermediate)))
&& (can_extend_p (intermediate, from_mode, unsignedp)
!= CODE_FOR_nothing))
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment