qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Richard Henderson <richard.henderson@linaro.org>
To: "Lucas Mateus Castro (alqotel)" <lucas.araujo@eldorado.org.br>,
	qemu-devel@nongnu.org, qemu-ppc@nongnu.org
Cc: danielhb413@gmail.com, mark.cave-ayland@ilande.co.uk,
	pc@us.ibm.com, david@gibson.dropbear.id.au,
	matheus.ferst@eldorado.org.br, clg@kaod.org
Subject: Re: [PATCH v3 1/3] target/ppc: Fixed call to deferred exception
Date: Thu, 25 Nov 2021 11:17:13 +0100	[thread overview]
Message-ID: <ed1e603b-0fad-5079-a8f7-8482e494c729@linaro.org> (raw)
In-Reply-To: <20211124172523.3598396-2-lucas.araujo@eldorado.org.br>

On 11/24/21 6:25 PM, Lucas Mateus Castro (alqotel) wrote:
> mtfsf, mtfsfi and mtfsb1 instructions call helper_float_check_status
> after updating the value of FPSCR, but helper_float_check_status
> checks fp_status and fp_status isn't updated based on FPSCR and
> since the value of fp_status is reset earlier in the instruction,
> it's always 0.
> 
> Because of this helper_float_check_status would change the FI bit to 0
> as this bit checks if the last operation was inexact and
> float_flag_inexact is always 0.
> 
> These instructions also don't throw exceptions correctly since
> helper_float_check_status throw exceptions based on fp_status.
> 
> This commit created a new helper, helper_fpscr_check_status that checks
> FPSCR value instead of fp_status and checks for a larger variety of
> exceptions than do_float_check_status.
> 
> Since fp_status isn't used, gen_reset_fpstatus() was removed.
> 
> The hardware used to compare QEMU's behavior to was a Power9.
> 
> Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br>
> ---
>   target/ppc/fpu_helper.c            | 48 ++++++++++++++++++++++++++++++
>   target/ppc/helper.h                |  1 +
>   target/ppc/translate/fp-impl.c.inc |  9 ++----
>   3 files changed, 52 insertions(+), 6 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~


  parent reply	other threads:[~2021-11-25 10:18 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-24 17:25 [PATCH v3 0/3] Fix mtfsf, mtfsfi and mtfsb1 bug Lucas Mateus Castro (alqotel)
2021-11-24 17:25 ` [PATCH v3 1/3] target/ppc: Fixed call to deferred exception Lucas Mateus Castro (alqotel)
2021-11-25  0:49   ` BALATON Zoltan
2021-11-25  2:59     ` David Gibson
2021-11-25 14:01       ` BALATON Zoltan
2021-11-25 10:17   ` Richard Henderson [this message]
2021-11-24 17:25 ` [PATCH v3 2/3] test/tcg/ppc64le: test mtfsf Lucas Mateus Castro (alqotel)
2021-11-25 10:18   ` Richard Henderson
2021-11-30 16:41   ` Cédric Le Goater
2021-11-24 17:25 ` [PATCH v3 3/3] target/ppc: ppc_store_fpscr doesn't update bits 0 to 28 and 52 Lucas Mateus Castro (alqotel)
2021-11-25  0:53   ` BALATON Zoltan

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=ed1e603b-0fad-5079-a8f7-8482e494c729@linaro.org \
    --to=richard.henderson@linaro.org \
    --cc=clg@kaod.org \
    --cc=danielhb413@gmail.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=lucas.araujo@eldorado.org.br \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=matheus.ferst@eldorado.org.br \
    --cc=pc@us.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).