qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/8] target/m68k: implement 680x0 FPU (part 4)
@ 2018-03-05 20:39 Laurent Vivier
  2018-03-05 20:39 ` [Qemu-devel] [PATCH 1/8] target/m68k: define floatx80_move() Laurent Vivier
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Laurent Vivier @ 2018-03-05 20:39 UTC (permalink / raw)
  To: qemu-devel; +Cc: Thomas Huth, Richard Henderson, Laurent Vivier

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

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2018-03-05 20:41 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-05 20:39 [Qemu-devel] [PATCH 0/8] target/m68k: implement 680x0 FPU (part 4) Laurent Vivier
2018-03-05 20:39 ` [Qemu-devel] [PATCH 1/8] target/m68k: define floatx80_move() Laurent Vivier
2018-03-05 20:39 ` [Qemu-devel] [PATCH 2/8] target/m68k: implement flognp1 Laurent Vivier
2018-03-05 20:39 ` [Qemu-devel] [PATCH 3/8] target/m68k: implement flogn Laurent Vivier
2018-03-05 20:39 ` [Qemu-devel] [PATCH 4/8] target/m68k: implement flog10 Laurent Vivier
2018-03-05 20:39 ` [Qemu-devel] [PATCH 5/8] target/m68k: implement flog2 Laurent Vivier
2018-03-05 20:39 ` [Qemu-devel] [PATCH 6/8] target/m68k: implement fetox Laurent Vivier
2018-03-05 20:39 ` [Qemu-devel] [PATCH 7/8] target/m68k: implement ftwotox Laurent Vivier
2018-03-05 20:39 ` [Qemu-devel] [PATCH 8/8] target/m68k: implement ftentox Laurent Vivier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).