qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Aurelien Jarno <aurelien@aurel32.net>
To: qemu-devel@nongnu.org
Cc: Aurelien Jarno <aurelien@aurel32.net>
Subject: [Qemu-devel] [PATCH v4 0/8] target-sh4: optimizations and cleanups
Date: Thu,  4 Jun 2015 21:51:12 +0200	[thread overview]
Message-ID: <1433447480-30848-1-git-send-email-aurelien@aurel32.net> (raw)

This patch set improves the SH4 emulation by using the recently added
TCG instructions, namely add2, sub2 and movcond. For that the T, Q and
M bits are split out from the SR register. This allow the optimizer and
the liveness analysis to do some more optimisations.

The last two patches are doing cleanup in the code.

I hope it will be the final version of this patchset, thanks to Richard
Henderson for the review up to now.

Changes v3 -> v4
- patch 2: add a blank line before gen_read_sr 
           fix MOVCO.L
- patch 3: swap the two add2 to use one less temp
- patch 4: ditto
- patch 6: drop now useless function gen_copy_bit_i32 to make clang happy

Changes v2 -> v3:
- rebased
- patch 2: don't mask out T bit from env->sr when reading
- patch 6: don't mask out Q and M bits from env->sr when reading
           correctly compute M bit in div0s
           add some comments to explain the tricks used in div1

Changes v1 -> v2:
- rebased
- added last patch

Aurelien Jarno (8):
  target-sh4: use bit number for SR constants
  target-sh4: Split out T from SR
  target-sh4: optimize addc using add2
  target-sh4: optimize subc using sub2
  target-sh4: optimize negc using add2 and sub2
  target-sh4: split out Q and M from of SR and optimize div1
  target-sh4: factorize fmov implementation
  target-sh4: remove dead code

 target-sh4/cpu.c       |   3 +-
 target-sh4/cpu.h       |  50 +++++---
 target-sh4/gdbstub.c   |   8 +-
 target-sh4/helper.c    |  29 ++---
 target-sh4/helper.h    |   1 -
 target-sh4/op_helper.c | 148 +---------------------
 target-sh4/translate.c | 332 +++++++++++++++++++++++--------------------------
 7 files changed, 220 insertions(+), 351 deletions(-)

-- 
2.1.4

             reply	other threads:[~2015-06-04 19:51 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-04 19:51 Aurelien Jarno [this message]
2015-06-04 19:51 ` [Qemu-devel] [PATCH v4 1/8] target-sh4: use bit number for SR constants Aurelien Jarno
2015-06-04 19:51 ` [Qemu-devel] [PATCH v4 2/8] target-sh4: Split out T from SR Aurelien Jarno
2015-06-09 14:15   ` Richard Henderson
2015-06-04 19:51 ` [Qemu-devel] [PATCH v4 3/8] target-sh4: optimize addc using add2 Aurelien Jarno
2015-06-09 14:15   ` Richard Henderson
2015-06-04 19:51 ` [Qemu-devel] [PATCH v4 4/8] target-sh4: optimize subc using sub2 Aurelien Jarno
2015-06-09 14:16   ` Richard Henderson
2015-06-04 19:51 ` [Qemu-devel] [PATCH v4 5/8] target-sh4: optimize negc using add2 and sub2 Aurelien Jarno
2015-06-04 19:51 ` [Qemu-devel] [PATCH v4 6/8] target-sh4: split out Q and M from of SR and optimize div1 Aurelien Jarno
2015-06-04 19:51 ` [Qemu-devel] [PATCH v4 7/8] target-sh4: factorize fmov implementation Aurelien Jarno
2015-06-04 19:51 ` [Qemu-devel] [PATCH v4 8/8] target-sh4: remove dead code Aurelien Jarno

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=1433447480-30848-1-git-send-email-aurelien@aurel32.net \
    --to=aurelien@aurel32.net \
    --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).