All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Cédric Le Goater" <clg@kaod.org>
To: Richard Henderson <richard.henderson@linaro.org>,
	<qemu-devel@nongnu.org>
Cc: qemu-ppc@nongnu.org, danielhb413@gmail.com, alex.bennee@linaro.org
Subject: Re: [RFC PATCH for-7.0 00/35] target/ppc fpu fixes and cleanups
Date: Fri, 3 Dec 2021 11:36:22 +0100	[thread overview]
Message-ID: <b85f3c68-7643-be41-9c7b-6475932725d6@kaod.org> (raw)
In-Reply-To: <20211119160502.17432-1-richard.henderson@linaro.org>

On 11/19/21 17:04, Richard Henderson wrote:
> This is a partial patch set showing the direction I believe
> the cleanups should go, as opposed to a complete conversion.
> 
> I add a bunch of float_flag_* bits that diagnose the reason
> for most float_flag_invalid, as guided by the requirements
> of the PowerPC VX* bits.  I have converted some helpers to
> use these new flags but not all.  A good signal for unconverted
> routines is the use of float*_is_signalling_nan, which should
> now be using float_flag_invalid_snan.
> 
> I added float64x32_* arithmetic routines, which take float64
> arguments and round the result to the range and precision of
> float32, while giving the result in float64 form.  This is
> exactly what PowerPC requires for its single-precision math.
> This fixes double-rounding problems that exist in the current
> code, and are visible in the float_madds test.
> 
> I add test reference files for float_madds and float_convs
> after fixing the bugs required to make the tests pass.
> 
> 
> r~
> 
> 
> Richard Henderson (35):
>    softfloat: Extend float_exception_flags to 16 bits
>    softfloat: Add flag specific to Inf - Inf
>    softfloat: Add flag specific to Inf * 0
>    softfloat: Add flags specific to Inf / Inf and 0 / 0
>    softfloat: Add flag specific to sqrt(-x)
>    softfloat: Add flag specific to convert non-nan to int
>    softfloat: Add flag specific to signaling nans
>    target/ppc: Update float_invalid_op_addsub for new flags
>    target/ppc: Update float_invalid_op_mul for new flags
>    target/ppc: Update float_invalid_op_div for new flags
>    target/ppc: Move float_check_status from FPU_FCTI to translate
>    target/ppc: Update float_invalid_cvt for new flags
>    target/ppc: Fix VXCVI return value
>    target/ppc: Remove inline from do_fri
>    target/ppc: Use FloatRoundMode in do_fri
>    target/ppc: Tidy inexact handling in do_fri
>    target/ppc: Clean up do_fri
>    target/ppc: Update fmadd for new flags
>    target/ppc: Split out do_fmadd
>    target/ppc: Do not call do_float_check_status from do_fmadd
>    target/ppc: Split out do_frsp
>    target/ppc: Update do_frsp for new flags
>    target/ppc: Use helper_todouble in do_frsp
>    target/ppc: Update sqrt for new flags
>    target/ppc: Update xsrqpi and xsrqpxp to new flags
>    target/ppc: Update fre to new flags
>    softfloat: Add float64r32 arithmetic routines
>    target/ppc: Add helpers for fmadds et al
>    target/ppc: Add helper for fsqrts
>    target/ppc: Add helpers for fadds, fsubs, fdivs
>    target/ppc: Add helper for fmuls
>    target/ppc: Add helper for frsqrtes
>    target/ppc: Update fres to new flags and float64r32
>    target/ppc: Use helper_todouble/tosingle in helper_xststdcsp
>    test/tcg/ppc64le: Add float reference files

I didn't see any regression, so I plan to queue the first 34 patches
for 7.0 and let you handle the last patch since there is a small fix
to address before.

Thanks,

C.


  parent reply	other threads:[~2021-12-03 10:37 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-19 16:04 [RFC PATCH for-7.0 00/35] target/ppc fpu fixes and cleanups Richard Henderson
2021-11-19 16:04 ` [PATCH 01/35] softfloat: Extend float_exception_flags to 16 bits Richard Henderson
2021-12-03 21:33   ` Philippe Mathieu-Daudé
2021-11-19 16:04 ` [PATCH 02/35] softfloat: Add flag specific to Inf - Inf Richard Henderson
2021-11-19 16:04 ` [PATCH 03/35] softfloat: Add flag specific to Inf * 0 Richard Henderson
2021-11-19 16:04 ` [PATCH 04/35] softfloat: Add flags specific to Inf / Inf and 0 / 0 Richard Henderson
2021-11-19 16:04 ` [PATCH 05/35] softfloat: Add flag specific to sqrt(-x) Richard Henderson
2021-11-19 16:04 ` [PATCH 06/35] softfloat: Add flag specific to convert non-nan to int Richard Henderson
2021-11-19 16:04 ` [PATCH 07/35] softfloat: Add flag specific to signaling nans Richard Henderson
2021-11-19 16:04 ` [PATCH 08/35] target/ppc: Update float_invalid_op_addsub for new flags Richard Henderson
2021-11-19 16:04 ` [PATCH 09/35] target/ppc: Update float_invalid_op_mul " Richard Henderson
2021-11-19 16:04 ` [PATCH 10/35] target/ppc: Update float_invalid_op_div " Richard Henderson
2021-11-19 16:04 ` [PATCH 11/35] target/ppc: Move float_check_status from FPU_FCTI to translate Richard Henderson
2021-11-19 16:04 ` [PATCH 12/35] target/ppc: Update float_invalid_cvt for new flags Richard Henderson
2021-11-19 16:04 ` [PATCH 13/35] target/ppc: Fix VXCVI return value Richard Henderson
2021-11-19 16:04 ` [PATCH 14/35] target/ppc: Remove inline from do_fri Richard Henderson
2021-12-03 21:33   ` Philippe Mathieu-Daudé
2021-11-19 16:04 ` [PATCH 15/35] target/ppc: Use FloatRoundMode in do_fri Richard Henderson
2021-12-03 21:33   ` Philippe Mathieu-Daudé
2021-11-19 16:04 ` [PATCH 16/35] target/ppc: Tidy inexact handling " Richard Henderson
2021-11-19 16:04 ` [PATCH 17/35] target/ppc: Clean up do_fri Richard Henderson
2021-11-19 16:04 ` [PATCH 18/35] target/ppc: Update fmadd for new flags Richard Henderson
2021-11-19 16:04 ` [PATCH 19/35] target/ppc: Split out do_fmadd Richard Henderson
2021-11-19 16:04 ` [PATCH 20/35] target/ppc: Do not call do_float_check_status from do_fmadd Richard Henderson
2021-11-19 16:04 ` [PATCH 21/35] target/ppc: Split out do_frsp Richard Henderson
2021-11-19 16:04 ` [PATCH 22/35] target/ppc: Update do_frsp for new flags Richard Henderson
2021-11-19 16:04 ` [PATCH 23/35] target/ppc: Use helper_todouble in do_frsp Richard Henderson
2021-11-19 16:04 ` [PATCH 24/35] target/ppc: Update sqrt for new flags Richard Henderson
2021-11-19 16:04 ` [PATCH 25/35] target/ppc: Update xsrqpi and xsrqpxp to " Richard Henderson
2021-11-19 16:04 ` [PATCH 26/35] target/ppc: Update fre " Richard Henderson
2021-11-19 16:04 ` [PATCH 27/35] softfloat: Add float64r32 arithmetic routines Richard Henderson
2021-11-19 16:04 ` [PATCH 28/35] target/ppc: Add helpers for fmadds et al Richard Henderson
2021-11-19 16:04 ` [PATCH 29/35] target/ppc: Add helper for fsqrts Richard Henderson
2021-11-19 16:04 ` [PATCH 30/35] target/ppc: Add helpers for fadds, fsubs, fdivs Richard Henderson
2021-11-19 16:04 ` [PATCH 31/35] target/ppc: Add helper for fmuls Richard Henderson
2021-11-19 16:04 ` [PATCH 32/35] target/ppc: Add helper for frsqrtes Richard Henderson
2021-11-19 16:05 ` [PATCH 33/35] target/ppc: Update fres to new flags and float64r32 Richard Henderson
2021-11-19 16:05 ` [PATCH 34/35] target/ppc: Use helper_todouble/tosingle in helper_xststdcsp Richard Henderson
2021-11-19 16:05 ` [PATCH 35/35] test/tcg/ppc64le: Add float reference files Richard Henderson
2021-11-21 17:47   ` Cédric Le Goater
2021-11-22  9:43     ` Richard Henderson
2021-11-22  9:51       ` Cédric Le Goater
2021-11-22 11:16       ` Richard Henderson
2021-11-22 13:04         ` Cédric Le Goater
2021-11-22 13:14           ` Richard Henderson
2021-11-24  9:17             ` Cédric Le Goater
2021-11-24  9:27               ` Richard Henderson
2021-11-29 14:45         ` Cédric Le Goater
2021-12-03 10:36 ` Cédric Le Goater [this message]
2021-12-03 16:10 ` [RFC PATCH for-7.0 00/35] target/ppc fpu fixes and cleanups Matheus K. Ferst
2021-12-15 16:42 ` Cédric Le Goater

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b85f3c68-7643-be41-9c7b-6475932725d6@kaod.org \
    --to=clg@kaod.org \
    --cc=alex.bennee@linaro.org \
    --cc=danielhb413@gmail.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=richard.henderson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.