qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH  v3 00/13] softfloat updates (include tweaks, rm LIT64)
@ 2019-08-13 12:49 Alex Bennée
  2019-08-13 12:49 ` [Qemu-devel] [PATCH v3 01/13] fpu: replace LIT64 usage with UINT64_C for specialize constants Alex Bennée
                   ` (15 more replies)
  0 siblings, 16 replies; 30+ messages in thread
From: Alex Bennée @ 2019-08-13 12:49 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alex Bennée, armbru

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



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

end of thread, other threads:[~2019-08-15 15:50 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-13 12:49 [Qemu-devel] [PATCH v3 00/13] softfloat updates (include tweaks, rm LIT64) Alex Bennée
2019-08-13 12:49 ` [Qemu-devel] [PATCH v3 01/13] fpu: replace LIT64 usage with UINT64_C for specialize constants Alex Bennée
2019-08-13 12:59   ` Richard Henderson
2019-08-13 12:49 ` [Qemu-devel] [PATCH v3 02/13] fpu: convert float[16/32/64]_squash_denormal to new modern style Alex Bennée
2019-08-13 13:11   ` Richard Henderson
2019-08-13 13:38     ` Alex Bennée
2019-08-13 12:49 ` [Qemu-devel] [PATCH v3 03/13] fpu: optimise float[16/32/64]_squash_denormal (HACK?) Alex Bennée
2019-08-13 13:12   ` Richard Henderson
2019-08-13 12:49 ` [Qemu-devel] [PATCH v3 04/13] fpu: use min/max values from stdint.h for integral overflow Alex Bennée
2019-08-13 13:13   ` Richard Henderson
2019-08-15 14:48   ` Aleksandar Markovic
2019-08-15 15:49     ` Alex Bennée
2019-08-13 12:49 ` [Qemu-devel] [PATCH v3 05/13] fpu: replace LIT64 with UINT64_C macros Alex Bennée
2019-08-13 13:14   ` Richard Henderson
2019-08-13 12:49 ` [Qemu-devel] [PATCH v3 06/13] target/m68k: " Alex Bennée
2019-08-13 13:15   ` Richard Henderson
2019-08-13 12:49 ` [Qemu-devel] [PATCH v3 07/13] fpu: remove the LIT64 macro Alex Bennée
2019-08-13 13:15   ` Richard Henderson
2019-08-13 12:49 ` [Qemu-devel] [PATCH v3 08/13] fpu: move inline helpers into a separate header Alex Bennée
2019-08-13 12:49 ` [Qemu-devel] [PATCH v3 09/13] fpu: make softfloat-macros "self-contained" Alex Bennée
2019-08-13 12:49 ` [Qemu-devel] [PATCH v3 10/13] fpu: rename softfloat-specialize.h -> .inc.c Alex Bennée
2019-08-13 12:49 ` [Qemu-devel] [PATCH v3 11/13] target/mips: rationalise softfloat includes Alex Bennée
2019-08-13 12:49 ` [Qemu-devel] [PATCH v3 12/13] target/riscv: " Alex Bennée
2019-08-13 13:05   ` Philippe Mathieu-Daudé
2019-08-13 12:49 ` [Qemu-devel] [PATCH v3 13/13] targets (various): use softfloat-helpers.h where we can Alex Bennée
2019-08-13 13:15   ` Philippe Mathieu-Daudé
2019-08-13 13:19 ` [Qemu-devel] [PATCH v3 00/13] softfloat updates (include tweaks, rm LIT64) no-reply
2019-08-13 13:30 ` no-reply
2019-08-13 13:57 ` Markus Armbruster
2019-08-13 14:15   ` Alex Bennée

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).