[OE-core] ARM-tuning -- was qemuarm: should it really have TUNE_ARCH armv5te?

Khem Raj raj.khem at gmail.com
Tue Sep 11 19:58:59 UTC 2012


On (11/09/12 19:53), Phil Blundell wrote:
> On Tue, 2012-09-11 at 11:40 -0700, Khem Raj wrote:
> > On Tue, Sep 11, 2012 at 9:13 AM, Koen Kooi <koen at dominion.thruhere.net> wrote:
> > > From a gcc point of view both are the same ISA, but using xscale will take in account the absurdly long pipeline on that SoC.
> > 
> > Not really, when you tune for XScale it will use ldrd/strd and pld if possible
> 
> Are you sure?  As far as I remember, the only effects of -mtune=xscale
> are to alter some minor pipeline-related tradeoffs in code generation.
> In particular, LDM is especially slow on xscale so it is usually best
> avoided unless loading very large numbers of registers.

yes that seems to be right looking at trunk and it does not prefer LDRD/STRD/PLD too.
so all my claims are not valid anymore.

const struct tune_params arm_xscale_tune =
{
  arm_xscale_rtx_costs,
  xscale_sched_adjust_cost,
  2,                                            /* Constant limit.  */
  3,                                            /* Max cond insns.  */
  ARM_PREFETCH_NOT_BENEFICIAL,
  true,                                         /* Prefer constant pool.  */
  arm_default_branch_cost,
  false                                         /* Prefer LDRD/STRD.  */
};



> 
> I can't think of any reason why pld would be any more beneficial on
> xscale than generic v5TE, and I don't think gcc does anything special
> with it in that regard.
> 
> p.
> 
> 

-- 
-Khem




More information about the Openembedded-core mailing list