qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH v4 0/8] target-sh4: optimizations and cleanups


From: Aurelien Jarno
Subject: [Qemu-devel] [PATCH v4 0/8] target-sh4: optimizations and cleanups
Date: Thu, 4 Jun 2015 21:51:12 +0200

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 via email to

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