This is v2 of the work that Al Viro helped with nearly a year ago. At the time, I obsconded with an unused bit in the softfloat exception flags. Which was a bit of a wart, and rightly pointed out as such by someone at the time.
After 11 months on the shelf, I've finally found enough time to work out the bugs in the re-implementation of the fpcr. This time all of the bits are private to target-alpha, so no mucking about with the generic softfloat code. r~ Richard Henderson (17): target-alpha: Move VAX helpers to a new file target-alpha: Rename floating-point subroutines target-alpha: Forget installed round mode after MT_FPCR target-alpha: Set PC correctly for floating-point exceptions target-alpha: Tidy FPCR representation target-alpha: Set fpcr_exc_status even for disabled exceptions target-alpha: Set EXC_M_SWC for exceptions from /S insns target-alpha: Raise IOV from CVTTQ target-alpha: Fix cvttq vs large integers target-alpha: Fix cvttq vs inf target-alpha: Fix integer overflow checking insns target-alpha: Implement WH64EN target-alpha: Disallow literal operand to 1C.30 to 1C.37 target-alpha: Raise EXC_M_INV properly for fp inputs target-alpha: Suppress underflow from CVTTQ if DNZ target-alpha: Raise IOV from CVTQL target-alpha: Rewrite helper_zapnot target-alpha/Makefile.objs | 2 +- target-alpha/cpu.h | 95 ++++---- target-alpha/fpu_helper.c | 530 +++++++++++---------------------------------- target-alpha/helper.c | 132 ++--------- target-alpha/helper.h | 14 +- target-alpha/int_helper.c | 89 ++------ target-alpha/mem_helper.c | 9 +- target-alpha/translate.c | 265 ++++++++++++----------- target-alpha/vax_helper.c | 353 ++++++++++++++++++++++++++++++ 9 files changed, 715 insertions(+), 774 deletions(-) create mode 100644 target-alpha/vax_helper.c -- 2.1.0