[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC][PATCH v2 4/4] configure: add CONFIG_QEMU_LDST_OPT
From: |
Blue Swirl |
Subject: |
Re: [Qemu-devel] [RFC][PATCH v2 4/4] configure: add CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st optimization |
Date: |
Sat, 7 Jul 2012 07:51:03 +0000 |
On Fri, Jul 6, 2012 at 11:43 AM, Yeongkyoon Lee
<address@hidden> wrote:
> On 2012년 07월 05일 23:06, Peter Maydell wrote:
>>
>> On 5 July 2012 14:23, Yeongkyoon Lee <address@hidden> wrote:
>>>
>>> Add an option "--enable-ldst-optimization" to enable
>>> CONFIG_QEMU_LDST_OPTIMIZATION macro for TCG qemu_ld/st optimization. It only
>>> works with CONFIG_SOFTMMU and doesn't work with CONFIG_TCG_PASS_AREG0.
>>
>> This shouldn't be a user settable config option -- we should
>> just identify what the optimal setting is for the guest/target
>> combination and use it.
>
>
> It looks better remove the option after it is confirmed that it works well
> for all the guest target architectures.
>
>
>>> case "$target_arch2" in
>>> alpha | sparc* | xtensa* | ppc*)
>>> echo "CONFIG_TCG_PASS_AREG0=y" >> $config_target_mak
>>> + # qemu_ld/st optimization is not available with
>>> CONFIG_TCG_PASS_AREG0
>>> + target_ldst_optimization="no"
>>
>> PASS_AREG0 is the way of the future -- you need to fix the ldst
>> optimization to work with it.
>
>
> There are two reasons to prevent working with PASS_AREG0.
> The first one is I'm not sure the history and future PASS_AREG0 and have not
> tested PASS_AREG0 which is only enabled for some guest architectures..
> The second is a problem of too many conditional paths in sources.
> I think it is not late to combine the ldst optimization with PASS_AREG0
> after the ldst optimization agreed as default.
It looks like you already support PASS_AREG0, the slow path code just
passes AREG0 as the first call argument.
Re: [Qemu-devel] [RFC][PATCH v2 0/4] tcg: enhance code generation quality for qemu_ld/st IRs, Yeongkyoon Lee, 2012/07/10