qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 00/23] target-sparc comparison improvements


From: Blue Swirl
Subject: Re: [Qemu-devel] [PATCH 00/23] target-sparc comparison improvements
Date: Sun, 7 Oct 2012 18:44:59 +0000

On Fri, Oct 5, 2012 at 11:54 PM, Richard Henderson <address@hidden> wrote:
> Most of the patches are cleanup.  Some of the middle patches that
> make use of setcond and movcond where apropriate do improve code
> generation.  But more important that that, we no longer have tcg
> temporaries that are live across basic blocks.  Indeed, the only
> remaining uses of brcond are in Tcc and the actual end-of-TB
> branching code.
>
> The final patch begins to make use of the infrastructure added
> during the cleanups.  Obviously there's more that can be done
> here, handling addcc and logic ops, but I've run out of time for
> today.

Thanks, applied all.

>
> Tested on
>   linux-user-test-0.3 images
>     sparc32 works well
>     sparc64 no longer crashes, but does exit 1
>
>   the shipped openbios image
>     sparc32 works well
>     sparc64 works as well as head (stalls before prompt)
>
>   sparc-test-0.2
>     sparc32 boots to prompt
>
>
> r~
>
>
> Richard Henderson (23):
>   target-sparc: Tidy cpu_dump_state
>   target-sparc: Make CPU_LOG_INT useful by default
>   target-sparc: Tidy do_branch interfaces
>   target-sparc: Tidy flush_cond interface
>   target-sparc: Tidy gen_trap_ifnofpu interface
>   target-sparc: Tidy save_state interface
>   target-sparc: Tidy gen_mov_pc_npc interface
>   target-sparc: Tidy save_npc interface
>   target-sparc: Tidy gen_generic_branch interface
>   target-sparc: Introduce DisasCompare and functions to generate it
>   target-sparc: Use DisasCompare in Tcc
>   target-sparc: Use DisasCompare and movcond in FMOVR, FMOVCC
>   target-sparc: Use DisasCompare and movcond in MOVCC
>   target-sparc: Use DisasCompare and movcond in MOVR
>   target-sparc: Use movcond in gen_generic_branch
>   target-sparc: Move sdivx and udivx out of line
>   target-sparc: Tidy Tcc
>   target-sparc: Move taddcctv and tsubcctv out of line
>   target-sparc: Use movcond in mulscc
>   target-sparc: Use movcond for FMOV*R
>   target-sparc: Cleanup "global" temporary allocation
>   target-sparc: Fall through from not-taken trap
>   target-sparc: Optimize conditionals using SUBCC
>
>  target-sparc/cpu.c          |    7 +-
>  target-sparc/cpu.h          |    1 +
>  target-sparc/helper.c       |   86 ++++
>  target-sparc/helper.h       |    6 +
>  target-sparc/int32_helper.c |    7 +-
>  target-sparc/int64_helper.c |    8 +-
>  target-sparc/ldst_helper.c  |    4 +-
>  target-sparc/translate.c    | 1133 
> +++++++++++++++++++++----------------------
>  8 files changed, 653 insertions(+), 599 deletions(-)
>
> --
> 1.7.11.4
>



reply via email to

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