qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Hexagon (target/hexagon) move store size tracking to transla


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH] Hexagon (target/hexagon) move store size tracking to translation
Date: Mon, 9 May 2022 23:31:17 +0200
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.9.0

On 9/5/22 23:14, Taylor Simpson wrote:
The store width is needed for packet commit, so it is stored in
ctx->store_width.  Currently, it is set when a store has a TCG
override instead of a QEMU helper.  In the QEMU helper case, the
ctx->store_width is not set, we invoke a helper during packet commit
that uses the runtime store width.

This patch ensures ctx->store_width is set for all store instructions,
so performance is improved because packet commit can generate the proper
TCG store rather than the generic helper.

We do this by
- Create new attributes to indicate the store size
- During gen_semantics, convert the fSTORE instances to fSTORE<size>
- Assign the new attributes to the new macros
- Add definitions for the new macros
- Use the attributes from the instructions during translation to
   set ctx->store_width
- Remove setting of ctx->store_width from genptr.c

Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
---
  target/hexagon/macros.h          | 16 ++++++++++----
  target/hexagon/attribs_def.h.inc |  4 ++++
  target/hexagon/gen_semantics.c   | 26 +++++++++++++++++++++++
  target/hexagon/genptr.c          | 36 +++++++++++---------------------
  target/hexagon/translate.c       | 26 +++++++++++++++++++++++
  5 files changed, 80 insertions(+), 28 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]