On Fri, Oct 5, 2012 at 11:54 PM, Richard Henderson <r...@twiddle.net> 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 >