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

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.

An instance of where you don't want to use ldm / stm is this patch
suggested here.
  http://gcc.gnu.org/ml/gcc-patches/2009-11/msg01553.html . 

Having a hook that acted as a gate for matching this peephole would be
useful. Then we could change this hook to work on a per-core basis or
put in any heuristics we want to change or tweak later.


> I've tested this quite often with arm-none-linux-gnueabi QEMU testsuite
> runs.  Yesterday, after fixing an aliasing issue, I managed to get a
> successful SPEC2000 run on a Cortex-A9 board (with a 4.4-based compiler;
> overall performance minimally higher than before); since then I've only
> made cleanups and added comments.  Once approved, I'll rerun all tests
> before committing.

Out of curiosity, was the aliasing issue PR42509 on a 4.4 branch ? If so
do you have a testcase that necessitates this fix to be backported to
the 4.4 branch upstream as well ?

cheers
Ramana

> 
> 
> Bernd

  reply	other threads:[~2010-04-23  8:13 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 [this message]
2010-04-23 13:11   ` Richard Earnshaw
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=1272010406.6783.72.camel@e200593-lin.cambridge.arm.com \
    --to=ramana.radhakrishnan@arm.com \
    --cc=bernds@codesourcery.com \
    --cc=gcc-patches@gcc.gnu.org \
    /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).