This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Test arm_tune_xscale, not arm_arch_xscale
On Tue, 2004-12-14 at 15:06, Ian Lance Taylor wrote:
> Richard Earnshaw <rearnsha@gcc.gnu.org> writes:
>
> > The original change was done in the days before combine took into
> > account the cost of a combined insn relative to it's non-combined cost.
> > This should now be done by changing the rtx costs for XScale rather than
> > hacking the patterns.
>
> This certainly makes sense. Unfortunately, this turns out to require
> a change to combine.c. combine.c does not consider the costs if it
> had to modify another instruction. In this case, it did have to
> modify one: the conditional branch instruction which uses the result
> of the compare.
>
> This patch works for my simple test case. I'll start testing it
> shortly. Let me know if it looks bogus.
>
> Ian
>
>
> 2004-12-14 Ian Lance Taylor <ian@wasabisystems.com>
>
> * combine.c (combine_validate_cost): Consider cost of
> undobuf.other_insn rather than always allowing the recombination
> if it is set.
> * config/arm/arm.c (arm_xscale_rtx_costs): Increase cost of
> COMPARE of MULT.
> * config/arm/arm.md (mulsi3_compare0): Don't check
> arm_arch_xscale.
> (mulsi_compare0_scratch, mulsi3_addsi_compare0): Likewise.
> (mulsi3addsi_compare0_scratch): Likewise.
Looks sensible enough to me. I think this should be ok for 4.1, unless
Roger raises an objection.
R.