[PATCH 00/18] fpu: Compress float_status

Richard Henderson posted 18 patches 2 weeks, 3 days ago
Failed in applying to current master (apply log)
include/fpu/softfloat-helpers.h |  32 ++-
include/fpu/softfloat-types.h   |  84 ++++---
include/fpu/softfloat.h         |  12 +-
target/i386/ops_sse.h           |  24 +-
target/mips/fpu_helper.h        |   3 +-
fpu/softfloat.c                 | 122 +++++-----
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   |   4 +-
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       |  52 ++---
fpu/softfloat-specialize.c.inc  | 112 +++++-----
tests/fp/wrap.c.inc             |  12 +-
27 files changed, 520 insertions(+), 514 deletions(-)
[PATCH 00/18] fpu: Compress float_status
Posted by Richard Henderson 2 weeks, 3 days ago
Based-on: 20260507160959.449170-1-richard.henderson@linaro.org
("[PATCH v3 00/11] fpu: Export some internals for targets")

The impetus of this was the Arm FP8 work, and noticing the code
generated for clearing and copying float_status.  Being able to
reduce this to one 64-bit struct improved this quite a bit.

An in-progress iteration of this patch set used FIELD in float_status
instead of bitfields, which required all of the accessor work.  In the
end, I thought being able to print float_status from within gdb too
useful to give up lightly.  But since the accessor work was done, I
thought I'd go ahead and keep it.


r~


Richard Henderson (18):
  target/alpha: Remove CONFIG_SOFTFLOAT_INLINE
  fpu: Introduce FloatExceptionFlags
  target/alpha: Use FloatExceptionFlags
  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

 include/fpu/softfloat-helpers.h |  32 ++-
 include/fpu/softfloat-types.h   |  84 ++++---
 include/fpu/softfloat.h         |  12 +-
 target/i386/ops_sse.h           |  24 +-
 target/mips/fpu_helper.h        |   3 +-
 fpu/softfloat.c                 | 122 +++++-----
 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   |   4 +-
 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       |  52 ++---
 fpu/softfloat-specialize.c.inc  | 112 +++++-----
 tests/fp/wrap.c.inc             |  12 +-
 27 files changed, 520 insertions(+), 514 deletions(-)

-- 
2.43.0