[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v4 0/7] target/m68k: implement 680x0 FPU (part 2)
From: |
Laurent Vivier |
Subject: |
[Qemu-devel] [PATCH v4 0/7] target/m68k: implement 680x0 FPU (part 2) |
Date: |
Wed, 28 Jun 2017 22:42:34 +0200 |
Second part of patches submitted in the v3.
This series adds a subset of single precision and
double precision instructions using
set_floatx80_rounding_precision() to round the result.
For some other instructions, we introduce a new
function, floatx80_round(), to round them manually.
It also adds instructions fsglmul, fsgldiv,
fmovecr and fscc (since v3, use tcg_gen_setcond())
fmovem manages static and dynamic register list,
all the code has been moved to an helper.
v4:
Update floatx80_round() comment (and add Aurélien's R-b)
Add a comment for undefined fmovecr offsets
update gen_fcc_cond() with more fixes from Richard
v3:
Remove extra space in fmovem patch
truncate operands of fsglmul and fslgdiv
update gen_fcc_cond() as suggested by Richard
fmoverc: use opmode instead of rom_offset,
define and free the tcg constant
v2:
Fix gen_fcc_cond(): g[12] mark global variables,
not variables to free.
add 2 patches to compute trigonometric functions
and fmod
use floatx80_round() to compute fsglmul and fsgldiv
split fmovem helper into 6 helpers
Laurent Vivier (7):
target/m68k: add fscc.
target/m68k: add fmovecr
target/m68k: add explicit single and double precision operations
softfloat: define floatx80_round()
target/m68k: add fsglmul and fsgldiv
target/m68k: add explicit single and double precision operations (part
2)
target/m68k: add fmovem
fpu/softfloat.c | 16 ++
include/fpu/softfloat.h | 1 +
target/m68k/fpu_helper.c | 310 ++++++++++++++++++++++++++++++++++++-
target/m68k/helper.h | 27 +++-
target/m68k/translate.c | 388 ++++++++++++++++++++++++++++++++---------------
5 files changed, 619 insertions(+), 123 deletions(-)
--
2.9.4
- [Qemu-devel] [PATCH v4 0/7] target/m68k: implement 680x0 FPU (part 2),
Laurent Vivier <=
- [Qemu-devel] [PATCH v4 1/7] target/m68k: add fscc., Laurent Vivier, 2017/06/28
- [Qemu-devel] [PATCH v4 5/7] target/m68k: add fsglmul and fsgldiv, Laurent Vivier, 2017/06/28
- [Qemu-devel] [PATCH v4 6/7] target/m68k: add explicit single and double precision operations (part 2), Laurent Vivier, 2017/06/28
- [Qemu-devel] [PATCH v4 7/7] target/m68k: add fmovem, Laurent Vivier, 2017/06/28
- [Qemu-devel] [PATCH v4 3/7] target/m68k: add explicit single and double precision operations, Laurent Vivier, 2017/06/28
- [Qemu-devel] [PATCH v4 4/7] softfloat: define floatx80_round(), Laurent Vivier, 2017/06/28
- [Qemu-devel] [PATCH v4 2/7] target/m68k: add fmovecr, Laurent Vivier, 2017/06/28