2003-05-15 Eric Christopher <echristo@redhat.com>
* combine.c (expand_compound_operation): Make sure
that zero_extend operation is profitable.
From-SVN: r66853
+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
== 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. */