[PULL 00/29] fpu patch queue

Richard Henderson posted 29 patches 3 weeks, 2 days ago
Failed in applying to current master (apply log)
Maintainers: Richard Henderson <richard.henderson@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>, Aurelien Jarno <aurelien@aurel32.net>, Peter Maydell <peter.maydell@linaro.org>, "Alex Bennée" <alex.bennee@linaro.org>
There is a newer version of this series
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
[PULL 00/29] fpu patch queue
Posted by Richard Henderson 3 weeks, 2 days ago
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

----------------------------------------------------------------
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
Re: [PULL 00/29] fpu patch queue
Posted by Stefan Hajnoczi 3 weeks ago
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
>