[Top][All Lists]
[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
>
- [Qemu-devel] [PATCH 14/23] target-sparc: Use DisasCompare and movcond in MOVR, (continued)
- [Qemu-devel] [PATCH 14/23] target-sparc: Use DisasCompare and movcond in MOVR, Richard Henderson, 2012/10/05
- [Qemu-devel] [PATCH 15/23] target-sparc: Use movcond in gen_generic_branch, Richard Henderson, 2012/10/05
- [Qemu-devel] [PATCH 21/23] target-sparc: Cleanup "global" temporary allocation, Richard Henderson, 2012/10/05
- [Qemu-devel] [PATCH 23/23] target-sparc: Optimize conditionals using SUBCC, Richard Henderson, 2012/10/05
- [Qemu-devel] [PATCH 22/23] target-sparc: Fall through from not-taken trap, Richard Henderson, 2012/10/05
- [Qemu-devel] [PATCH 19/23] target-sparc: Use movcond in mulscc, Richard Henderson, 2012/10/05
- [Qemu-devel] [PATCH 20/23] target-sparc: Use movcond for FMOV*R, Richard Henderson, 2012/10/05
- Re: [Qemu-devel] [PATCH 00/23] target-sparc comparison improvements,
Blue Swirl <=