[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/7] tcg: Optimize add2 + sub2
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH 2/7] tcg: Optimize add2 + sub2 |
Date: |
Thu, 27 Sep 2012 16:28:47 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120911 Thunderbird/15.0.1 |
On 09/27/2012 04:20 PM, Aurelien Jarno wrote:
> I understand that we can't easily insert an instruction, so the
> limitation comes from here, but is it really something happening often?
It will certainly appear sometimes. E.g. s390x has an add immediate
instruction that does exactly: r1 += imm16 << 32.
Or did you mean specifically the full constant being folded? That
would happen quite a bit more often. That you can see with most any
64-bit RISC guest when they attempt to generate a constant from
addition primitives instead of logical primitives.
For a 32-bit host, we've already decomposed logical primitives to 32-bit
operations. And we can constant-fold through all of those. But when
addition comes into play, we can't constant-fold through add2.
r~
- [Qemu-devel] [PATCH 0/7] Double-word tcg/optimize improvements, Richard Henderson, 2012/09/27
- [Qemu-devel] [PATCH 1/7] tcg: Split out swap_commutative as a subroutine, Richard Henderson, 2012/09/27
- [Qemu-devel] [PATCH 2/7] tcg: Optimize add2 + sub2, Richard Henderson, 2012/09/27
- [Qemu-devel] [PATCH 4/7] tcg: Optimize double-word comparisons against zero, Richard Henderson, 2012/09/27
- [Qemu-devel] [PATCH 7/7] tcg: Do constant folding on double-word comparisons, Richard Henderson, 2012/09/27
- [Qemu-devel] [PATCH 6/7] tcg: Tidy brcond optimization, Richard Henderson, 2012/09/27
- [Qemu-devel] [PATCH 3/7] tcg: Swap commutative double-word comparisons, Richard Henderson, 2012/09/27
- [Qemu-devel] [PATCH 5/7] tcg: Split out subroutines from do_constant_folding_cond, Richard Henderson, 2012/09/27