On Thu, May 7, 2026 at 12:10 PM Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> The following changes since commit ee7eb612be8f8886d48c1d0c1f1c65e495138f83:
>
> Merge tag 'single-binary-20260506' of https://github.com/philmd/qemu into staging (2026-05-06 10:45:02 -0400)
>
> are available in the Git repository at:
>
> https://gitlab.com/rth7680/qemu.git tags/pull-fpu-20260507
>
> for you to fetch changes up to 901650041334aa9764ee65b300601d0bfad752a2:
>
> host-utils: Introduce signed saturation primitives (2026-05-07 10:22:25 -0500)
>
> ----------------------------------------------------------------
> fpu: Cleanups and export FloatParts{64,128} internals,
> so far with a limited number of primitives.
> host-utils: Introduce signed saturation primitives
Hi Richard,
This pull request breaks hexagon-linux-user:
https://gitlab.com/qemu-project/qemu/-/jobs/14285779514#L2556
Please resend this pull request once there is a fix. Thanks!
Stefan
>
> ----------------------------------------------------------------
> Richard Henderson (29):
> fpu: Inline float8_e4m3_pack_raw to single caller
> fpu: Inline float8_e5m2_pack_raw into single caller
> fpu: Inline float16_pack_raw into callers
> fpu: Inline bfloat16_pack_raw into callers
> fpu: Inline float32_pack_raw into callers
> fpu: Inline float64_pack_raw into callers
> fpu: Mark unpack_raw64 QEMU_ALWAYS_INLINE
> fpu: Mark pack_raw64 QEMU_ALWAYS_INLINE
> fpu: Split FloatParts{64,128} to softfloat-parts.h
> fpu: Export FloatFmt structures
> fpu: Export unpack_canonical and round_pack_canonical routines
> fpu: Return struct from parts{64,128}_default_nan
> fpu: Return struct from parts{64,128}_silence_nan
> fpu: Return struct from parts{64,128}_return_nan
> fpu: Sink exp_bias adjustment in float64r32_pack_raw
> fpu: Return struct from parts{64,128}_pick_nan
> fpu: Return struct from parts{64,128}_div
> fpu: Return struct from parts{64,128}_round_to_int
> fpu: Export default_nan, pick_nan, return_nan routines
> fpu: Introduce parts64_round_to_fmt
> fpu: Return struct from parts{64,128}_pick_nan_muladd
> fpu: Introduce record_denormals_used
> fpu: Split scalbn from partsN(muladd_scalbn)
> fpu: Export parts{64,128}_compare
> fpu: Return struct from parts{64,128}_mul
> fpu: Return struct from parts{64,128}_addsub
> fpu: Return struct from parts{64,128}_scalbn
> fpu: Drop QEMU_FLATTEN from muladd routines
> host-utils: Introduce signed saturation primitives
>
> include/fpu/softfloat-parts.h | 220 ++++++++++++++++++
> include/qemu/host-utils.h | 60 +++++
> accel/tcg/tcg-runtime-gvec.c | 20 +-
> fpu/softfloat.c | 507 ++++++++++++++++-------------------------
> fpu/softfloat-parts.c.inc | 282 +++++++++++------------
> fpu/softfloat-specialize.c.inc | 42 ++--
> 6 files changed, 640 insertions(+), 491 deletions(-)
> create mode 100644 include/fpu/softfloat-parts.h
>