After this patch set, only load and store op helpers remain in op_helper.c. I have some patches for those but they need more thought.
I was too lazy to attach the patches. Instead, the patch set can be found in: git://repo.or.cz/qemu/blueswirl.git http://repo.or.cz/r/qemu/blueswirl.git Blue Swirl (15): Sparc: fix coding style Sparc: split helper.c Sparc: move trivial functions from op_helper.c Sparc: avoid AREG0 for raise_exception and helper_debug Sparc: fix coding style Sparc: split FPU and VIS op helpers Sparc: avoid AREG0 for float and VIS ops Sparc: split lazy condition code handling op helpers Sparc: avoid AREG0 for lazy condition code helpers Sparc: split CWP and PSTATE op helpers Sparc: avoid AREG0 for CWP and PSTATE helpers Sparc: avoid AREG0 for softint op helpers and Leon cache control Sparc: avoid AREG0 for division op helpers Sparc: fix coding style in helper.c Sparc: split MMU helpers Makefile.target | 5 + target-sparc/cc_helper.c | 485 ++++++++ target-sparc/cpu.h | 36 +- target-sparc/cpu_init.c | 848 ++++++++++++++ target-sparc/fop_helper.c | 394 +++++++ target-sparc/helper.c | 1929 ++------------------------------ target-sparc/helper.h | 226 ++-- target-sparc/int_helper.c | 356 ++++++ target-sparc/mmu_helper.c | 877 +++++++++++++++ target-sparc/op_helper.c | 2748 +++++++-------------------------------------- target-sparc/translate.c | 366 +++--- target-sparc/vis_helper.c | 406 +++++++ target-sparc/win_helper.c | 407 +++++++ 13 files changed, 4612 insertions(+), 4471 deletions(-) create mode 100644 target-sparc/cc_helper.c create mode 100644 target-sparc/cpu_init.c create mode 100644 target-sparc/fop_helper.c create mode 100644 target-sparc/int_helper.c create mode 100644 target-sparc/mmu_helper.c create mode 100644 target-sparc/vis_helper.c create mode 100644 target-sparc/win_helper.c