All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aurelien Jarno <aurelien@aurel32.net>
To: Richard Henderson <rth@twiddle.net>
Cc: Laurent Desnogues <laurent.desnogues@gmail.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] tcg conditional set/move, round 3
Date: Sun, 20 Dec 2009 00:02:33 +0100	[thread overview]
Message-ID: <20091219230233.GA1348@volta.aurel32.net> (raw)
In-Reply-To: <4B2CFD14.3000206@twiddle.net>

On Sat, Dec 19, 2009 at 08:19:32AM -0800, Richard Henderson wrote:
> On 12/19/2009 05:03 AM, Aurelien Jarno wrote:
> >- For the movcond instruction, is there a real use for vtrue and vfalse
> >   values? Most CPU actually implement a version with one value.
> >   Implementing it with two values moves complexity within the arch
> >   specific tcg code.
> 
> The reason I added both is that rather than force TCG to insert
> extra moves in order to always match VFALSE with DEST, I could have
> the backend invert the condition if VTRUE happened to match DEST
> already.
> 
> I suppose it would be possible to tweek the TCG register allocator
> to understand such commutative operations.  That seemed harder, but
> perhaps it really isn't considering that inversion code has to be
> replicated across all the targets.  It's certainly something to
> think about.
> 

My main concerns here is that we are introducing a complex code here
that has to be multiplied by the number of TCG targets we have. On the
other hand I am not sure there are a lot of use cases for the different
architectures we support.

In addition I am reserved to make such bug changes given I am not sure 
it will result in a speed gain. All the previous setcond implementations
have been stopped because there was no measurable gain.

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

      reply	other threads:[~2009-12-19 23:02 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <761ea48b0912170620l534dcb02m8ea6b59524d76dbe@mail.gmail.com>
2009-12-17 19:32 ` [Qemu-devel] [PATCH 0/6] tcg conditional set/move, round 2 Richard Henderson
2009-12-17 17:27   ` [Qemu-devel] [PATCH 1/6] tcg: Generic support for conditional set and conditional move Richard Henderson
2009-12-17 20:50     ` malc
2009-12-18 11:38     ` [Qemu-devel] " Laurent Desnogues
2009-12-17 17:28   ` [Qemu-devel] [PATCH 2/6] tcg: Add tcg_invert_cond Richard Henderson
2009-12-18 11:39     ` [Qemu-devel] " Laurent Desnogues
2009-12-17 17:32   ` [Qemu-devel] [PATCH 3/6] tcg-x86_64: Implement setcond and movcond Richard Henderson
2009-12-18 11:39     ` [Qemu-devel] " Laurent Desnogues
2009-12-18 17:11       ` Richard Henderson
2009-12-18 17:41         ` Laurent Desnogues
2009-12-17 17:55   ` [Qemu-devel] [PATCH 4/6] tcg-i386: Implement small forward branches Richard Henderson
2009-12-18 11:39     ` [Qemu-devel] " Laurent Desnogues
2009-12-18 17:16       ` Richard Henderson
2009-12-17 18:38   ` [Qemu-devel] [PATCH 5/6] tcg-i386: Simplify brcond2 Richard Henderson
2009-12-18 11:40     ` [Qemu-devel] " Laurent Desnogues
2009-12-18 17:45       ` Richard Henderson
2009-12-17 19:08   ` [Qemu-devel] [PATCH 6/6] tcg-i386: Implement setcond, movcond, setcond2 Richard Henderson
2009-12-18 11:37   ` [Qemu-devel] Re: [PATCH 0/6] tcg conditional set/move, round 2 Laurent Desnogues
2009-12-18 21:38     ` [Qemu-devel] tcg conditional set/move, round 3 Richard Henderson
2009-12-19 11:40       ` [Qemu-devel] " Laurent Desnogues
2009-12-19 16:09         ` Richard Henderson
2009-12-19 12:09       ` [Qemu-devel] " Andreas Färber
2009-12-19 13:03       ` Aurelien Jarno
2009-12-19 13:32         ` Aurelien Jarno
2009-12-19 16:19         ` Richard Henderson
2009-12-19 23:02           ` Aurelien Jarno [this message]

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=20091219230233.GA1348@volta.aurel32.net \
    --to=aurelien@aurel32.net \
    --cc=laurent.desnogues@gmail.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    /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.