Implement flognp1, flogn, flog10, flog2, fetox, ftwotox, ftentox As previously, all the floatx80 functions are copied from "Previous", the NeXT Computer Emulator, and written by Andreas Grabher.
I did not improve or clean up the code, it's a simple port of Andreas' work from "Previous". "Previous" code I have ported to QEMU can be found in (r844): http://svn.code.sf.net/p/previous/code/trunk/src/softfloat/ "Previous" code is a C implementation of m68040 assembly language functions found in ($NetBSD: copyright.s,v 1.2 1994/10/26 07:48:57 cgd Exp) https://ftp.netbsd.org/pub/NetBSD/NetBSD-current/src/sys/arch/m68k/fpsp/ floatx80_move() comes from WinUAE (3600b8): https://github.com/tonioni/WinUAE/blob/master/softfloat/softfloat.cpp All the original work is under SoftFloat-2a license, and additional work under BSD license or GPL-v2-or-later license. All softfloat new functions are added in target/m68k as they are derived from m68k code. I have compared results of these instructions from a real m68040 and from QEMU, and they match. Laurent Vivier (8): target/m68k: define floatx80_move() target/m68k: implement flognp1 target/m68k: implement flogn target/m68k: implement flog10 target/m68k: implement flog2 target/m68k: implement fetox target/m68k: implement ftwotox target/m68k: implement ftentox target/m68k/fpu_helper.c | 35 ++ target/m68k/helper.h | 7 + target/m68k/softfloat.c | 1019 +++++++++++++++++++++++++++++++++++ target/m68k/softfloat.h | 8 + target/m68k/softfloat_fpsp_tables.h | 374 +++++++++++++ target/m68k/translate.c | 21 + 6 files changed, 1464 insertions(+) create mode 100755 target/m68k/softfloat_fpsp_tables.h -- 2.14.3