combine.c (expand_compound_operation): Make sure that zero_extend operation is profitable.
2003-05-15 Eric Christopher <echristo@redhat.com> * combine.c (expand_compound_operation): Make sure that zero_extend operation is profitable. From-SVN: r66853
This commit is contained in:
parent
c1fefa090b
commit
3dcd7d4595
@ -1,3 +1,8 @@
|
||||
2003-05-15 Eric Christopher <echristo@redhat.com>
|
||||
|
||||
* combine.c (expand_compound_operation): Make sure
|
||||
that zero_extend operation is profitable.
|
||||
|
||||
2003-05-15 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* config/alpha/linux.h, config/alpha/linux-elf.h: Remove
|
||||
|
@ -5802,7 +5802,15 @@ expand_compound_operation (x)
|
||||
== 0)))
|
||||
{
|
||||
rtx temp = gen_rtx_ZERO_EXTEND (GET_MODE (x), XEXP (x, 0));
|
||||
return expand_compound_operation (temp);
|
||||
rtx temp2 = expand_compound_operation (temp);
|
||||
|
||||
/* Make sure this is a profitable operation. */
|
||||
if (rtx_cost (x, SET) > rtx_cost (temp2, SET))
|
||||
return temp2;
|
||||
else if (rtx_cost (x, SET) > rtx_cost (temp, SET))
|
||||
return temp;
|
||||
else
|
||||
return x;
|
||||
}
|
||||
|
||||
/* We can optimize some special cases of ZERO_EXTEND. */
|
||||
|
Loading…
Reference in New Issue
Block a user