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