qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 00/29] tcg-aarch64 improvements


From: Richard Henderson
Subject: Re: [Qemu-devel] [PATCH v3 00/29] tcg-aarch64 improvements
Date: Mon, 09 Sep 2013 08:07:02 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130805 Thunderbird/17.0.8

On 09/09/2013 08:02 AM, Claudio Fontana wrote:
> On 09.09.2013 16:08, Richard Henderson wrote:
>> On 09/09/2013 01:13 AM, Claudio Fontana wrote:
>>> after carefully reading and testing your patches, this is how I suggest to 
>>> proceed: 
>>>
>>> first do the implementation of the new functionality (tcg opcodes, jit) in 
>>> a way that is consistent with the existing code.
>>> No type changes, no refactoring, no beautification.
>>>
>>> Once we agree on those, introduce the meaningful restructuring you want to 
>>> do,
>>> like the new INSN type, the "don't handle mov/movi in tcg_out_op", the 
>>> TCG_OPF_64BIT thing, etc.
>>>
>>> Last do the cosmetic stuff if you really want to do it, like the change all 
>>> ext to bool (note that there is no point if the callers still use "1" and 
>>> "0": adapt them as well) etc.
>>
>> No, I don't agree.  Especially with respect to the insn type.
>>
>> I'd much rather do all the "cosmetic stuff", as you put it, first.  It makes
>> all of the "real" changes much easier to understand.
>>
>>
>> r~
>>
> 
> I guess we are stuck then. With the cosmetic and restructuring stuff coming 
> before, I cannot cherry pick the good parts later.
> 
> 

Have you tested the first 9 patches on their own?  I.e.

>   tcg-aarch64: Set ext based on TCG_OPF_64BIT
>   tcg-aarch64: Change all ext variables to bool
>   tcg-aarch64: Don't handle mov/movi in tcg_out_op
>   tcg-aarch64: Hoist common argument loads in tcg_out_op
>   tcg-aarch64: Change enum aarch64_arith_opc to AArch64Insn
>   tcg-aarch64: Merge enum aarch64_srr_opc with AArch64Insn
>   tcg-aarch64: Introduce tcg_fmt_* functions
>   tcg-aarch64: Introduce tcg_fmt_Rdn_aimm
>   tcg-aarch64: Implement mov with tcg_fmt_* functions

There should be no functional change to the backend, producing 100% identical
output code.  There should even be little or no change in tcg.o itself.

This should make it trivial to verify that these patches are not at fault.



r~





reply via email to

[Prev in Thread] Current Thread [Next in Thread]