[PATCH v5 00/30] fpu: Export some internals for targets

Richard Henderson posted 30 patches 4 days, 20 hours ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260520171820.848839-1-richard.henderson@linaro.org
Maintainers: Aurelien Jarno <aurelien@aurel32.net>, Peter Maydell <peter.maydell@linaro.org>, "Alex Bennée" <alex.bennee@linaro.org>, Richard Henderson <richard.henderson@linaro.org>, Brian Cain <brian.cain@oss.qualcomm.com>, Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>, Helge Deller <deller@gmx.de>, Paolo Bonzini <pbonzini@redhat.com>, Zhao Liu <zhao1.liu@intel.com>, Laurent Vivier <laurent@vivier.eu>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Jiaxun Yang <jiaxun.yang@flygoat.com>, Aleksandar Rikalo <arikalo@gmail.com>, Nicholas Piggin <npiggin@gmail.com>, Chinmay Rath <rathc@linux.ibm.com>, Glenn Miles <milesg@linux.ibm.com>, Harsh Prateek Bora <harshpb@linux.ibm.com>, Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>, Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Chao Liu <chao.liu.zevorn@gmail.com>, Ilya Leoshkevich <iii@linux.ibm.com>, David Hildenbrand <david@kernel.org>, Cornelia Huck <cohuck@redhat.com>, Eric Farman <farman@linux.ibm.com>, Matthew Rosato <mjrosato@linux.ibm.com>, Yoshinori Sato <yoshinori.sato@nifty.com>, Max Filippov <jcmvbkbc@gmail.com>
include/fpu/softfloat-helpers.h |  37 +--
include/fpu/softfloat-parts.h   |  12 +
include/fpu/softfloat-types.h   |  89 ++++---
include/fpu/softfloat.h         | 112 +++++----
target/i386/ops_sse.h           |  24 +-
target/mips/fpu_helper.h        |   3 +-
fpu/softfloat.c                 | 422 +++++++++++---------------------
target/alpha/fpu_helper.c       |   8 +-
target/alpha/helper.c           |   3 +-
target/alpha/translate.c        |  18 +-
target/arm/tcg/helper-a64.c     |  12 +-
target/arm/tcg/vfp_helper.c     |  38 +--
target/hexagon/fma_emu.c        |   6 +-
target/hppa/fpu_helper.c        |   2 +-
target/i386/tcg/fpu_helper.c    |  65 ++---
target/m68k/softfloat.c         | 380 ++++++++++++++--------------
target/mips/msa.c               |   4 +-
target/ppc/cpu.c                |   4 +-
target/ppc/fpu_helper.c         |  14 +-
target/riscv/vector_helper.c    |   6 +-
target/s390x/tcg/fpu_helper.c   | 139 ++++++++++-
target/sh4/cpu.c                |   2 +-
target/xtensa/cpu.c             |   3 +-
tests/fp/fp-bench.c             |   6 +-
tests/fp/fp-test.c              |   6 +-
fpu/softfloat-parts.c.inc       | 313 ++++++++++++-----------
fpu/softfloat-specialize.c.inc  | 117 +++++----
tests/fp/wrap.c.inc             |  12 +-
28 files changed, 936 insertions(+), 921 deletions(-)
[PATCH v5 00/30] fpu: Export some internals for targets
Posted by Richard Henderson 4 days, 20 hours ago
Changes for v5:
  - Drop target/arm changes as non-essential;
    will be moved to another patch set.
  - Incorporate "Export floatN_minmax" from the FEAT_FP8 patch set.
  - Incorporate "fpu: Compress float_status", to avoid conflicts with...
  - Introduce float_status.e4m3_nan_is_snan
  - Fix NaN encoding for E4M3 in parts64_uncanon


r~


Richard Henderson (30):
  fpu: Return struct from parts{64,128}_scalbn
  fpu: Reorganize partsN(muladd)
  fpu: Return struct from parts{64,128}_muladd
  fpu: Hoist nan check in partsN_addsub
  fpu: Simplify 0 +/- N case in parts_addsub
  fpu: Use parts64_round_to_int in parts_s390_divide_to_integer
  target/s390x: Move float{32,64}_s390_divide_to_integer
  fpu: Introduce exp_scalbn
  target/alpha: Remove CONFIG_SOFTFLOAT_INLINE
  fpu: Introduce FloatExceptionFlags
  target/alpha: Use FloatExceptionFlags
  fpu: Introduce frac_msb_is_snan
  fpu: Introduce FloatSNaNRule
  fpu: Use {get,set}_float_rounding_mode everywhere
  fpu: Use of {get,set}_floatx80_rounding_precision everywhere
  fpu: Use get_floatx80_behaviour everywhere
  fpu: Use get_float_2nan_prop_rule in partsN_pick_nan
  fpu: Use get_float_3nan_prop_rule in partsN_pick_nan_muladd
  fpu: Use get_float_infzeronan_rule in partsN_pick_nan_muladd
  fpu: Use accessors for tininess_before_rounding
  fpu: Use {get,set}_flush_to_zero everywhere
  fpu: Use accessors for ftz_before_rounding
  fpu: Use {get,set}_flush_inputs_to_zero everywhere
  fpu: Use get_default_nan_mode everywhere
  fpu: Use get_float_default_nan_pattern in partsN_default_nan
  fpu: Add accessors for rebias_{underflow,overflow}
  fpu: Reorg float_status
  fpu: Introduce float_status.e4m3_nan_is_snan
  fpu: Fix NaN encoding for E4M3 in parts64_uncanon
  fpu: Export floatN_minmax

 include/fpu/softfloat-helpers.h |  37 +--
 include/fpu/softfloat-parts.h   |  12 +
 include/fpu/softfloat-types.h   |  89 ++++---
 include/fpu/softfloat.h         | 112 +++++----
 target/i386/ops_sse.h           |  24 +-
 target/mips/fpu_helper.h        |   3 +-
 fpu/softfloat.c                 | 422 +++++++++++---------------------
 target/alpha/fpu_helper.c       |   8 +-
 target/alpha/helper.c           |   3 +-
 target/alpha/translate.c        |  18 +-
 target/arm/tcg/helper-a64.c     |  12 +-
 target/arm/tcg/vfp_helper.c     |  38 +--
 target/hexagon/fma_emu.c        |   6 +-
 target/hppa/fpu_helper.c        |   2 +-
 target/i386/tcg/fpu_helper.c    |  65 ++---
 target/m68k/softfloat.c         | 380 ++++++++++++++--------------
 target/mips/msa.c               |   4 +-
 target/ppc/cpu.c                |   4 +-
 target/ppc/fpu_helper.c         |  14 +-
 target/riscv/vector_helper.c    |   6 +-
 target/s390x/tcg/fpu_helper.c   | 139 ++++++++++-
 target/sh4/cpu.c                |   2 +-
 target/xtensa/cpu.c             |   3 +-
 tests/fp/fp-bench.c             |   6 +-
 tests/fp/fp-test.c              |   6 +-
 fpu/softfloat-parts.c.inc       | 313 ++++++++++++-----------
 fpu/softfloat-specialize.c.inc  | 117 +++++----
 tests/fp/wrap.c.inc             |  12 +-
 28 files changed, 936 insertions(+), 921 deletions(-)

-- 
2.43.0