qemu-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]