All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aurelien Jarno <aurelien@aurel32.net>
To: Juha.Riihimaki@nokia.com
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v2 05/10] target-arm: optimize arm	load/store multiple ops
Date: Tue, 27 Oct 2009 10:00:01 +0100	[thread overview]
Message-ID: <4AE6B691.9090602@aurel32.net> (raw)
In-Reply-To: <4B83D3FD-D222-4483-9EA2-870D131BB01E@nokia.com>

Juha.Riihimaki@nokia.com a écrit :
> On Oct 27, 2009, at 10:39, ext Aurelien Jarno wrote:
> 
>> On Sat, Oct 24, 2009 at 03:19:04PM +0300, juha.riihimaki@nokia.com  
>> wrote:
>>> From: Juha Riihimäki <juha.riihimaki@nokia.com>
>>>
>>> RM load/store multiple instructions can be slightly optimized by
>>> loading the register offset constant into a variable outside the
>>> register loop and using the preloaded variable inside the loop  
>>> instead
>>> of reloading the offset value to a temporary variable on each loop
>>> iteration. This causes less TCG ops to be generated for a ARM load/
>>> store multiple instruction if there are more than one register
>>> accessed, otherwise the number of generated TCG ops is the same.
>>>
>>> Signed-off-by: Juha Riihimäki <juha.riihimaki@nokia.com>
>>> Acked-by: Laurent Desnogues <laurent.desnogues@gmail.com>
>> This patch breaks, the boot of an arm kernel, as tmp2 is used  
>> elsewhere
>> within this code path.
> 
> True, I just noticed that as well. This is because the resource leak  
> patch
> was refactored to utilize tmp2 inside the loop as well. I just sent a  
> new
> revision of this patch that uses tmp3 for th constant value.
> 
>> OTOH, while it reduce the number of TCG ops, that should not impact  
>> the
>> generated host asm code, as most (all ?) targets are able to add a
>> small constant value to a register in one instruction.
> 
> This is true, but I still think it provides a small speed gain as  
> there are
> less TCG ops to be processed when generating host code...?

It means less TCG ops, but one more temp variable, therefore if there is
a gain, I don't think it is something even measurable.

OTOH it makes the code a bit more complex to read. I am not really
opposed to this patch (and the other patches of the same kind), but I
will need some more arguments to convince me.

-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
aurelien@aurel32.net                 http://www.aurel32.net

  reply	other threads:[~2009-10-27  9:00 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-24 12:18 [Qemu-devel] [PATCH v2 00/10] target-arm: miscellaneous fixes juha.riihimaki
2009-10-24 12:19 ` [Qemu-devel] [PATCH v2 01/10] target-arm: fix neon vshrn/vrshrn ops juha.riihimaki
2009-10-25 10:58   ` Laurent Desnogues
2009-10-24 12:19 ` [Qemu-devel] [PATCH v2 02/10] target-arm: add support for neon vld1.64/vst1.64 instructions juha.riihimaki
2009-10-25 11:11   ` Laurent Desnogues
2009-10-24 12:19 ` [Qemu-devel] [PATCH v2 03/10] target-arm: allow modifying vfp fpexc en bit only juha.riihimaki
2009-10-25 12:23   ` Laurent Desnogues
2009-10-26  7:32     ` Juha.Riihimaki
2009-10-26  9:08       ` Laurent Desnogues
2009-10-24 12:19 ` [Qemu-devel] [PATCH v2 04/10] target-arm: optimize vfp load/store multiple ops juha.riihimaki
2009-10-24 17:36   ` Laurent Desnogues
2009-10-27  8:42   ` Aurelien Jarno
2009-10-24 12:19 ` [Qemu-devel] [PATCH v2 05/10] target-arm: optimize arm " juha.riihimaki
2009-10-27  8:39   ` Aurelien Jarno
2009-10-27  8:48     ` Juha.Riihimaki
2009-10-27  9:00       ` Aurelien Jarno [this message]
2009-10-27  9:05         ` Juha.Riihimaki
2009-10-24 12:19 ` [Qemu-devel] [PATCH v2 06/10] target-arm: fix neon vsri, vshl and vsli ops juha.riihimaki
2009-10-24 17:44   ` Laurent Desnogues
2009-10-24 12:19 ` [Qemu-devel] [PATCH v2 07/10] target-arm: optimize thumb2 load/store multiple ops juha.riihimaki
2009-10-24 17:32   ` Laurent Desnogues
2009-10-24 12:19 ` [Qemu-devel] [PATCH v2 08/10] target-arm: optimize thumb push/pop ops juha.riihimaki
2009-10-24 17:34   ` Laurent Desnogues
2009-10-24 12:19 ` [Qemu-devel] [PATCH v2 09/10] target-arm: optimize neon vld/vst ops juha.riihimaki
2009-10-25 14:01   ` Laurent Desnogues
2009-10-26  7:46     ` Juha.Riihimaki
2009-10-26  9:11       ` Laurent Desnogues
2009-10-26 21:05         ` Aurelien Jarno
2009-10-29 13:45           ` Juha.Riihimaki
2009-10-29 13:52             ` Laurent Desnogues
2009-10-24 12:19 ` [Qemu-devel] [PATCH v2 10/10] target-arm: fix neon shift helper functions juha.riihimaki
2009-10-25 12:16   ` Laurent Desnogues
2009-10-25 19:17 ` [Qemu-devel] [PATCH v2 00/10] target-arm: miscellaneous fixes Aurelien Jarno

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=4AE6B691.9090602@aurel32.net \
    --to=aurelien@aurel32.net \
    --cc=Juha.Riihimaki@nokia.com \
    --cc=qemu-devel@nongnu.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.