public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Richard Earnshaw <rearnsha@arm.com>
To: ramana.radhakrishnan@arm.com
Cc: Bernd Schmidt <bernds@codesourcery.com>,
	   GCC Patches <gcc-patches@gcc.gnu.org>
Subject: Re: ARM ldm/stm peepholes
Date: Fri, 23 Apr 2010 13:11:00 -0000	[thread overview]
Message-ID: <1272027779.1977.22.camel@e200601-lin.cambridge.arm.com> (raw)
In-Reply-To: <1272010406.6783.72.camel@e200593-lin.cambridge.arm.com>


On Fri, 2010-04-23 at 09:13 +0100, Ramana Radhakrishnan wrote:
> Hi Bernd,
> 
> On Tue, 2010-04-20 at 13:41 +0200, Bernd Schmidt wrote:
> 
> > The patch may need more tuning to decide when to use these instructions;
> > I'll need suggestions as I don't think I have enough information
> > available to make these decisions.  For now, this uses the same
> > heuristics as previously, but it may trigger in slightly more
> > situations.  I'm open to suggestions.
> 
> Apologies for the delayed response, been away from my desk this week and
> will be away for more today.
> 
> It would be useful to be able to control ldm /stm generation on a
> per-core basis i.e. on some cores it might be useful to have ldm's and
> stm's as a size optimization rather than as a performance optimization.
> For instance the A8 and A9 have a good ldm and stm setup but there might
> be circumstances where this might not be the right thing to do.
> 

This shouldn't be done on an explicit 'per-core' basis, but on a cost of
alternatives basis.  That is, there should be a cost function that
returns the cost of an ldm with N registers; this can then be compared
with the cost of (N+1)/2 ldrd instructions (if valid) or N ldr
instructions and the cheapest alternative selected.  The new costing
framework that I committed last week should easily support adding such
functions.  It may be necessary to separate out the costs of LDM and STM
as they could, in theory be different.


R.

  reply	other threads:[~2010-04-23 13:03 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-20 11:37 Bernd Schmidt
2010-04-23  8:24 ` Ramana Radhakrishnan
2010-04-23 13:11   ` Richard Earnshaw [this message]
2010-05-05 11:45     ` Bernd Schmidt
2010-05-05 12:11       ` Richard Earnshaw
2010-05-05 22:47         ` Bernd Schmidt
2010-06-08 15:57     ` Bernd Schmidt
2010-06-28 12:27       ` Ping: " Bernd Schmidt
2010-07-07 11:57 ` Resubmit/Ping^n " Bernd Schmidt
2010-07-16 11:19   ` Ping^(n+1) " Bernd Schmidt
2010-07-23 10:23     ` Ping^(n+2) " Bernd Schmidt
2010-07-23 21:49     ` Ping^(n+1) " Steven Bosscher
     [not found]   ` <1280580386.32159.25.camel@e102346-lin.cambridge.arm.com>
2010-08-02 10:09     ` Resubmit/Ping^n " Bernd Schmidt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1272027779.1977.22.camel@e200601-lin.cambridge.arm.com \
    --to=rearnsha@arm.com \
    --cc=bernds@codesourcery.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=ramana.radhakrishnan@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).