In this version I rebased the series on REGPARM removal, without splitting i386 and x86_64.
I've also made some simple performance tests on i386. It looks like REGPARM removal accounts for 2.5% performance loss and the full series 7.5%, in total 10% loss in this test. I'd like to move on with the series, so if nobody produces figures with other targets that show such loss, I'll commit the series next weekend. URL git://repo.or.cz/qemu/blueswirl.git http://repo.or.cz/r/qemu/blueswirl.git Blue Swirl (5): i386: Remove REGPARM softmmu templates: optionally pass CPUState to memory access functions TCG: add 5 arg helpers to def-helper.h Sparc: avoid AREG0 for memory access helpers Sparc: avoid AREG0 wrappers for memory access helpers Makefile.target | 12 +- configure | 7 + cpu-all.h | 9 + def-helper.h | 26 +++ exec-all.h | 2 + exec.c | 4 + osdep.h | 6 - softmmu_defs.h | 60 +++++-- softmmu_header.h | 60 +++++-- softmmu_template.h | 86 ++++++--- target-sparc/cpu.h | 3 +- target-sparc/helper.h | 20 +- target-sparc/ldst_helper.c | 415 ++++++++++++++++++++++++-------------------- target-sparc/op_helper.c | 74 -------- target-sparc/translate.c | 62 ++++--- tcg/arm/tcg-target.c | 53 ++++++ tcg/hppa/tcg-target.c | 44 +++++ tcg/i386/tcg-target.c | 169 ++++++++++++------ tcg/ia64/tcg-target.c | 46 +++++ tcg/mips/tcg-target.c | 44 +++++ tcg/ppc/tcg-target.c | 45 +++++ tcg/ppc/tcg-target.h | 2 +- tcg/ppc64/tcg-target.c | 44 +++++ tcg/s390/tcg-target.c | 44 +++++ tcg/sparc/tcg-target.c | 50 +++++- tcg/tcg.c | 14 -- tcg/tcg.h | 7 +- tcg/tci/tcg-target.c | 6 + 28 files changed, 966 insertions(+), 448 deletions(-) delete mode 100644 target-sparc/op_helper.c -- 1.7.9