[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/5] target-arm: convert shl and shr helpers to
From: |
Aurelien Jarno |
Subject: |
Re: [Qemu-devel] [PATCH 3/5] target-arm: convert shl and shr helpers to TCG |
Date: |
Mon, 17 Sep 2012 20:09:17 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Mon, Sep 17, 2012 at 08:36:31AM -0700, Richard Henderson wrote:
> On 09/16/2012 04:08 PM, Aurelien Jarno wrote:
> > + tcg_gen_setcondi_i32(TCG_COND_GE, tmp2, tmp1, 32); \
> > + tcg_gen_andi_i32(tmp1, tmp1, 0x1f); \
> > + tcg_gen_##name##_i32(dest, t0, tmp1); \
> > + tcg_temp_free_i32(tmp1); \
> > + tcg_gen_subi_i32(tmp2, tmp2, 1); \
> > + tcg_gen_and_i32(dest, dest, tmp2); \
>
> Ought I revive my movcond patch?
>
> Surely you can agree it's much more natural to write this
> as a conditional move of zero than playing masking games.
>
I agree it's more natural, that said in that case it doesn't spare that
many instructions, and I am still not sure we want to introduce such a
TCG op. What is important is to avoid helpers and branches which are
really killing the performances.
If you insist, maybe we can just add a movcond op that uses setcond, so
it makes the code more readable?
We introduced setcond a lot of time ago, and there are still plenty of
places where it's not used. We can get higher performances already by
fixing that.
--
Aurelien Jarno GPG: 1024D/F1BCDB73
address@hidden http://www.aurel32.net
Re: [Qemu-devel] [PATCH 3/5] target-arm: convert shl and shr helpers to TCG, Richard Henderson, 2012/09/17
[Qemu-devel] [PATCH 5/5] target-arm: mark a few integer helpers const and pure, Aurelien Jarno, 2012/09/16
[Qemu-devel] [PATCH 4/5] target-arm: optimize helper_sar, Aurelien Jarno, 2012/09/16
[Qemu-devel] [PATCH 2/5] target-arm: convert add_cc and sub_cc helpers to TCG, Aurelien Jarno, 2012/09/16
[Qemu-devel] [PATCH 1/5] target-arm: use globals for CC flags, Aurelien Jarno, 2012/09/16