Implement fmod, frem, fscale, fgetman and fgetexp. Instead of using functions of libm (v1 of this series) and converting between host long double and floatx80 type the new version (v2) adds new floatx80 functions in softfloat.
All the floatx80 functions are copied from "Previous", the NeXT Computer Emulator, and written by Andreas Grabher. v4: fix floatx80_to_int64() to check for NaN, not for infinity fix floatx80_is_infinity() to ignore mantissa's MSB v3: Move all new functions to target/m68k/softfloat.c Exports needed functions from fpu/softfloat.c Laurent Vivier (4): softfloat: export some functions target/m68k: add fmod/frem softfloat: use floatx80_infinity in softfloat target/m68k: add fscale, fgetman and fgetexp fpu/softfloat-specialize.h | 17 ++- fpu/softfloat.c | 130 +++++------------ {fpu => include/fpu}/softfloat-macros.h | 10 +- include/fpu/softfloat.h | 133 ++++++++++++++++- target/m68k/Makefile.objs | 3 +- target/m68k/cpu.h | 1 + target/m68k/fpu_helper.c | 50 ++++++- target/m68k/helper.h | 5 + target/m68k/softfloat.c | 249 ++++++++++++++++++++++++++++++++ target/m68k/softfloat.h | 29 ++++ target/m68k/translate.c | 15 ++ 11 files changed, 536 insertions(+), 106 deletions(-) rename {fpu => include/fpu}/softfloat-macros.h (98%) create mode 100644 target/m68k/softfloat.c create mode 100644 target/m68k/softfloat.h -- 2.14.3