All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Kele Huang <kele.hwang@gmail.com>
Cc: peter.maydell@linaro.org, richard.henderson@linaro.org,
	qemu-devel@nongnu.org, f4bug@amsat.org, alistair.francis@wdc.com,
	j@getutm.app
Subject: Re: [1/1] tcg/mips: Fix SoftTLB comparison on mips backend
Date: Thu, 01 Apr 2021 12:40:50 +0100	[thread overview]
Message-ID: <87mtui1bce.fsf@linaro.org> (raw)
In-Reply-To: <20210401100457.191458-1-kele.hwang@gmail.com>


Kele Huang <kele.hwang@gmail.com> writes:

> The addrl used to compare with SoftTLB entry should be sign-extended
> in common case, and it will cause constant failing in SoftTLB
> comparisons for the addrl whose address is over 0x80000000 on the
> emulation of 32-bit guest on 64-bit host.
>
> This is an important performance bug fix. Spec2000 gzip rate increase
> from ~45 to ~140 on Loongson 3A4000 (MIPS compatible platform).
>
> Signed-off-by: Kele Huang <kele.hwang@gmail.com>
> ---
>  tcg/mips/tcg-target.c.inc | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tcg/mips/tcg-target.c.inc b/tcg/mips/tcg-target.c.inc
> index 8738a3a581..8b16726242 100644
> --- a/tcg/mips/tcg-target.c.inc
> +++ b/tcg/mips/tcg-target.c.inc
> @@ -1201,13 +1201,13 @@ static void tcg_out_tlb_load(TCGContext *s, TCGReg base, TCGReg addrl,
>             load the tlb addend for the fast path.  */
>          tcg_out_ld(s, TCG_TYPE_PTR, TCG_TMP2, TCG_TMP3, add_off);
>      }
> -    tcg_out_opc_reg(s, OPC_AND, TCG_TMP1, TCG_TMP1, addrl);
>  
>      /* Zero extend a 32-bit guest address for a 64-bit host. */
>      if (TCG_TARGET_REG_BITS > TARGET_LONG_BITS) {
>          tcg_out_ext32u(s, base, addrl);
>          addrl = base;
>      }
> +    tcg_out_opc_reg(s, OPC_AND, TCG_TMP1, TCG_TMP1, addrl);
>  
>      label_ptr[0] = s->code_ptr;
>      tcg_out_opc_br(s, OPC_BNE, TCG_TMP1, TCG_TMP0);

Looks reasonable to me:

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>


-- 
Alex Bennée


  reply	other threads:[~2021-04-01 11:42 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-01 10:04 [1/1] tcg/mips: Fix SoftTLB comparison on mips backend Kele Huang
2021-04-01 11:40 ` Alex Bennée [this message]
2021-04-01 19:05 ` Philippe Mathieu-Daudé
2021-04-02  5:31 ` Richard Henderson
  -- strict thread matches above, loose matches on Subject: below --
2021-04-02  2:21 Kele Huang

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=87mtui1bce.fsf@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=alistair.francis@wdc.com \
    --cc=f4bug@amsat.org \
    --cc=j@getutm.app \
    --cc=kele.hwang@gmail.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@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.