[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
- [Qemu-devel] [PATCH v4 0/8] target-sh4: optimizations and cleanups,
Aurelien Jarno <=
- [Qemu-devel] [PATCH v4 3/8] target-sh4: optimize addc using add2, Aurelien Jarno, 2015/06/04
- [Qemu-devel] [PATCH v4 8/8] target-sh4: remove dead code, Aurelien Jarno, 2015/06/04
- [Qemu-devel] [PATCH v4 4/8] target-sh4: optimize subc using sub2, Aurelien Jarno, 2015/06/04
- [Qemu-devel] [PATCH v4 5/8] target-sh4: optimize negc using add2 and sub2, Aurelien Jarno, 2015/06/04
- [Qemu-devel] [PATCH v4 6/8] target-sh4: split out Q and M from of SR and optimize div1, Aurelien Jarno, 2015/06/04
- [Qemu-devel] [PATCH v4 1/8] target-sh4: use bit number for SR constants, Aurelien Jarno, 2015/06/04
- [Qemu-devel] [PATCH v4 7/8] target-sh4: factorize fmov implementation, Aurelien Jarno, 2015/06/04
- [Qemu-devel] [PATCH v4 2/8] target-sh4: Split out T from SR, Aurelien Jarno, 2015/06/04