[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 0/8] target/m68k: implement 680x0 FPU (part 4)
From: |
Laurent Vivier |
Subject: |
[Qemu-devel] [PATCH 0/8] target/m68k: implement 680x0 FPU (part 4) |
Date: |
Mon, 5 Mar 2018 21:39:02 +0100 |
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
- [Qemu-devel] [PATCH 0/8] target/m68k: implement 680x0 FPU (part 4),
Laurent Vivier <=
- [Qemu-devel] [PATCH 4/8] target/m68k: implement flog10, Laurent Vivier, 2018/03/05
- [Qemu-devel] [PATCH 3/8] target/m68k: implement flogn, Laurent Vivier, 2018/03/05
- [Qemu-devel] [PATCH 2/8] target/m68k: implement flognp1, Laurent Vivier, 2018/03/05
- [Qemu-devel] [PATCH 6/8] target/m68k: implement fetox, Laurent Vivier, 2018/03/05
- [Qemu-devel] [PATCH 1/8] target/m68k: define floatx80_move(), Laurent Vivier, 2018/03/05
- [Qemu-devel] [PATCH 5/8] target/m68k: implement flog2, Laurent Vivier, 2018/03/05
- [Qemu-devel] [PATCH 8/8] target/m68k: implement ftentox, Laurent Vivier, 2018/03/05
- [Qemu-devel] [PATCH 7/8] target/m68k: implement ftwotox, Laurent Vivier, 2018/03/05