This is a patchset which takes the approach discussed in the comments on my earlier patch to fix this bug. We compile *_helper.c with HELPER_CFLAGS, so targets don't need to put all their helper routines in op_helper.c. (This only changes behaviour for target-arm because that's the only target that has files matching that pattern.) Patches two and three are large but fairly mechanical changes to remove explicit CPUState* arguments in favour of just using global 'env' in the two files which can now access it. Finally, patch 4 is a two-liner to use the Neon FP status word...
Peter Maydell (4): Makefile.target: Allow target helpers to be in any *_helper.c file target-arm: Use global env in neon_helper.c helpers target-arm: Use global env in iwmmxt_helper.c helpers target-arm: Make Neon helper routines use correct FP status Makefile.target | 2 +- target-arm/helpers.h | 256 ++++++++++++++++++++++---------------------- target-arm/iwmmxt_helper.c | 80 ++++++-------- target-arm/neon_helper.c | 147 ++++++++++++------------- target-arm/translate.c | 248 ++++++++++++++++++++----------------------- 5 files changed, 349 insertions(+), 384 deletions(-)