This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]