[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC][PATCH v2 0/4] tcg: enhance code generation qualit
Re: [Qemu-devel] [RFC][PATCH v2 0/4] tcg: enhance code generation quality for qemu_ld/st IRs
Tue, 10 Jul 2012 18:12:00 +0900
Mozilla/5.0 (X11; Linux i686; rv:13.0) Gecko/20120615 Thunderbird/13.0.1
On 2012년 07월 05일 22:23, Yeongkyoon Lee wrote:
Summarized feature is as following.
- All the changes are wrapped by macro "CONFIG_QEMU_LDST_OPTIMIZATION" and
disabled by default.
- They are enabled by "configure --enable-ldst-optimization" and need
- They do not work with CONFIG_TCG_PASS_AREG0 because it looks better apply
them after areg0 codes come steady.
- Currently, they support only x86 and x86-64 and have been tested with x86
and ARM linux targets on x86/x86-64 host platforms.
- Build test has been done for all targets.
I'd like to summarize community's feedbacks/observations and propose new
patch for ldst optimization.
1. It needs to work with PASS_AREG0 (CONFIG_TCG_PASS_AREG0).
2. It does not need to be configured by user.
3. It looks good for a target to be ldst-optimized on x86/64 hosts not
4. CONFIG_QEMU_LDST_OPTIMIZATION looks necessary because common code
(e.g. tcg.h/tcg.c) is used on-x86 hosts and it should support
5. It might need two versions of MMU helpers, standard and extended,
simultaneously because C code might want to call the standard version.
* Modification proposals
1. Apply ldst optimization also when PASS_AREG0 enabled.
2. Make softmmu targets always to use ldst optimization on x86/64 hosts.
But testing for many targets is an issue...
3. Make target mem(op) helpers to provide extended MMU helpers and
softmmu_header.h to provide standard MMU helpers.
4. Fix some mistypings and redundant checks.
I'm not sure whether my proposals are feasible, however, I'd like to try
How do you think about it?
Yeongkyoon Lee (4):
tcg: add declarations and templates of extended MMU helpers
tcg: add extended MMU helpers to softmmu targets
tcg: add optimized TCG qemu_ld/st generation
configure: add CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st
configure | 15 ++
softmmu_defs.h | 13 ++
softmmu_template.h | 51 +++++--
target-alpha/mem_helper.c | 22 +++
target-arm/op_helper.c | 23 +++
target-cris/op_helper.c | 22 +++
target-i386/mem_helper.c | 22 +++
target-lm32/op_helper.c | 23 +++-
target-m68k/op_helper.c | 22 +++
target-microblaze/op_helper.c | 22 +++
target-mips/op_helper.c | 22 +++
target-ppc/mem_helper.c | 22 +++
target-s390x/op_helper.c | 22 +++
target-sh4/op_helper.c | 22 +++
target-sparc/ldst_helper.c | 23 +++
target-xtensa/op_helper.c | 22 +++
tcg/i386/tcg-target.c | 328 +++++++++++++++++++++++++++++++++++++++++
tcg/tcg.c | 12 ++
tcg/tcg.h | 35 +++++
19 files changed, 732 insertions(+), 11 deletions(-)
[Qemu-devel] [RFC][PATCH v2 4/4] configure: add CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st optimization, Yeongkyoon Lee, 2012/07/05
Re: [Qemu-devel] [RFC][PATCH v2 0/4] tcg: enhance code generation quality for qemu_ld/st IRs,
Yeongkyoon Lee <=
- Re: [Qemu-devel] [RFC][PATCH v2 3/4] tcg: add optimized TCG qemu_ld/st generation, (continued)