qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Richard Henderson <rth@twiddle.net>
To: qemu-devel@nongnu.org
Cc: Blue Swirl <blauwirbel@gmail.com>
Subject: [Qemu-devel] [PATCH 00/23] target-sparc comparison improvements
Date: Fri,  5 Oct 2012 16:54:47 -0700	[thread overview]
Message-ID: <1349481310-9237-1-git-send-email-rth@twiddle.net> (raw)

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.

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	other threads:[~2012-10-05 23:55 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-05 23:54 Richard Henderson [this message]
2012-10-05 23:54 ` [Qemu-devel] [PATCH 01/23] target-sparc: Tidy cpu_dump_state Richard Henderson
2012-10-05 23:54 ` [Qemu-devel] [PATCH 02/23] target-sparc: Make CPU_LOG_INT useful by default Richard Henderson
2012-10-05 23:54 ` [Qemu-devel] [PATCH 03/23] target-sparc: Tidy do_branch interfaces Richard Henderson
2012-10-05 23:54 ` [Qemu-devel] [PATCH 04/23] target-sparc: Tidy flush_cond interface Richard Henderson
2012-10-05 23:54 ` [Qemu-devel] [PATCH 05/23] target-sparc: Tidy gen_trap_ifnofpu interface Richard Henderson
2012-10-05 23:54 ` [Qemu-devel] [PATCH 06/23] target-sparc: Tidy save_state interface Richard Henderson
2012-10-05 23:54 ` [Qemu-devel] [PATCH 07/23] target-sparc: Tidy gen_mov_pc_npc interface Richard Henderson
2012-10-05 23:54 ` [Qemu-devel] [PATCH 08/23] target-sparc: Tidy save_npc interface Richard Henderson
2012-10-05 23:54 ` [Qemu-devel] [PATCH 09/23] target-sparc: Tidy gen_generic_branch interface Richard Henderson
2012-10-05 23:54 ` [Qemu-devel] [PATCH 10/23] target-sparc: Introduce DisasCompare and functions to generate it Richard Henderson
2012-10-05 23:54 ` [Qemu-devel] [PATCH 11/23] target-sparc: Use DisasCompare in Tcc Richard Henderson
2012-10-05 23:54 ` [Qemu-devel] [PATCH 12/23] target-sparc: Use DisasCompare and movcond in FMOVR, FMOVCC Richard Henderson
2012-10-05 23:55 ` [Qemu-devel] [PATCH 13/23] target-sparc: Use DisasCompare and movcond in MOVCC Richard Henderson
2012-10-05 23:55 ` [Qemu-devel] [PATCH 14/23] target-sparc: Use DisasCompare and movcond in MOVR Richard Henderson
2012-10-05 23:55 ` [Qemu-devel] [PATCH 15/23] target-sparc: Use movcond in gen_generic_branch Richard Henderson
2012-10-05 23:55 ` [Qemu-devel] [PATCH 16/23] target-sparc: Move sdivx and udivx out of line Richard Henderson
2012-10-05 23:55 ` [Qemu-devel] [PATCH 17/23] target-sparc: Tidy Tcc Richard Henderson
2012-10-05 23:55 ` [Qemu-devel] [PATCH 18/23] target-sparc: Move taddcctv and tsubcctv out of line Richard Henderson
2012-10-05 23:55 ` [Qemu-devel] [PATCH 19/23] target-sparc: Use movcond in mulscc Richard Henderson
2012-10-05 23:55 ` [Qemu-devel] [PATCH 20/23] target-sparc: Use movcond for FMOV*R Richard Henderson
2012-10-05 23:55 ` [Qemu-devel] [PATCH 21/23] target-sparc: Cleanup "global" temporary allocation Richard Henderson
2012-10-05 23:55 ` [Qemu-devel] [PATCH 22/23] target-sparc: Fall through from not-taken trap Richard Henderson
2012-10-05 23:55 ` [Qemu-devel] [PATCH 23/23] target-sparc: Optimize conditionals using SUBCC Richard Henderson
2012-10-07 18:48   ` Blue Swirl
2012-10-07 19:16     ` Richard Henderson
2012-10-07 22:40   ` Aurelien Jarno
2012-10-07 18:44 ` [Qemu-devel] [PATCH 00/23] target-sparc comparison improvements Blue Swirl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1349481310-9237-1-git-send-email-rth@twiddle.net \
    --to=rth@twiddle.net \
    --cc=blauwirbel@gmail.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).