[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 00/13] softfloat updates (include tweaks, rm LIT
From: |
Alex Bennée |
Subject: |
[Qemu-devel] [PATCH v3 00/13] softfloat updates (include tweaks, rm LIT64) |
Date: |
Tue, 13 Aug 2019 13:49:33 +0100 |
Hi,
Another iteration of updates for softfloat. Instead of moving the
LIT64() macro from one file to another we convert the uses to the
stdint.h macro. I did eliminate one of the uses by converting the
squash_input_denormal functions to the new style code. However as you
can see with the follow-up patch it bloated the code a little. I'd
like to convert the x80 and 128bit FP functions to the new style but
the challenge is seeing how we can get greater re-use of the common
functions without bloating the generated code. However if we can do
that we should eliminate a class of bugs in the current code.
There are a bunch of minor checkpatch complaints as all touched lines
haven't been fully converted to the proper brace style but I avoided
do that to make the patch more readable.
The following patches need review:
01 - fpu replace LIT64 usage with UINT64_C for special
02 - fpu convert float 16 32 64 _squash_denormal to ne
03 - fpu optimise float 16 32 64 _squash_denormal HACK
04 - fpu use min max values from stdint.h for integral
05 - fpu replace LIT64 with UINT64_C macros
06 - target m68k replace LIT64 with UINT64_C macros
07 - fpu remove the LIT64 macro
Alex Bennée (13):
fpu: replace LIT64 usage with UINT64_C for specialize constants
fpu: convert float[16/32/64]_squash_denormal to new modern style
fpu: optimise float[16/32/64]_squash_denormal (HACK?)
fpu: use min/max values from stdint.h for integral overflow
fpu: replace LIT64 with UINT64_C macros
target/m68k: replace LIT64 with UINT64_C macros
fpu: remove the LIT64 macro
fpu: move inline helpers into a separate header
fpu: make softfloat-macros "self-contained"
fpu: rename softfloat-specialize.h -> .inc.c
target/mips: rationalise softfloat includes
target/riscv: rationalise softfloat includes
targets (various): use softfloat-helpers.h where we can
...pecialize.h => softfloat-specialize.inc.c} | 26 +-
fpu/softfloat.c | 262 ++++++++----------
include/fpu/softfloat-helpers.h | 132 +++++++++
include/fpu/softfloat-macros.h | 8 +-
include/fpu/softfloat.h | 65 +----
linux-user/mips/cpu_loop.c | 1 +
target/alpha/helper.c | 2 +-
target/m68k/softfloat.c | 98 +++----
target/microblaze/cpu.c | 2 +-
target/mips/cpu.h | 8 +-
target/mips/internal.h | 7 +
target/mips/msa_helper.c | 1 +
target/mips/op_helper.c | 1 +
target/riscv/cpu.c | 1 +
target/riscv/cpu.h | 2 +-
target/riscv/fpu_helper.c | 1 +
target/s390x/cpu.c | 2 +-
target/sh4/cpu.c | 3 +-
target/tricore/helper.c | 2 +-
target/unicore32/cpu.c | 1 -
20 files changed, 342 insertions(+), 283 deletions(-)
rename fpu/{softfloat-specialize.h => softfloat-specialize.inc.c} (98%)
create mode 100644 include/fpu/softfloat-helpers.h
--
2.20.1
- [Qemu-devel] [PATCH v3 00/13] softfloat updates (include tweaks, rm LIT64),
Alex Bennée <=