qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] tcg: Optimize loads and stores to env
@ 2023-08-31  2:57 Richard Henderson
  2023-08-31  2:57 ` [PATCH 1/4] tcg: Don't free vector results Richard Henderson
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Richard Henderson @ 2023-08-31  2:57 UTC (permalink / raw)
  To: qemu-devel

This is aimed at improving gvec generated code, which involves large
numbers of loads and stores to the env slots of the guest cpu vector
registers.  The final patch helps eliminate redundant zero-extensions
that can appear with e.g. avx2 and sve.

From the small amount of timing that I have done, there is no change.
But of course as we all know, x86 is very good with redundant memory.
And frankly, I haven't found a good test case for measuring.
What I need is an algorithm with lots of integer vector code that can
be expanded with gvec.  Most of what I've found is either fp (out of
line) or too simple (small translation blocks with little scope for
optimization).

That said, it appears to be simple enough, and does eliminate some
redundant operations, even in places that I didn't expect.


r~


Richard Henderson (4):
  tcg: Don't free vector results
  tcg/optimize: Pipe OptContext into reset_ts
  tcg: Optimize env memory operations
  tcg: Eliminate duplicate env store operations

 tcg/optimize.c    | 226 ++++++++++++++++++++++++++++++++++++++++++++--
 tcg/tcg-op-gvec.c |  39 ++------
 2 files changed, 225 insertions(+), 40 deletions(-)

-- 
2.34.1



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2023-10-16  3:02 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-31  2:57 [PATCH 0/4] tcg: Optimize loads and stores to env Richard Henderson
2023-08-31  2:57 ` [PATCH 1/4] tcg: Don't free vector results Richard Henderson
2023-08-31  2:57 ` [PATCH 2/4] tcg/optimize: Pipe OptContext into reset_ts Richard Henderson
2023-10-02 12:37   ` Philippe Mathieu-Daudé
2023-08-31  2:57 ` [PATCH 3/4] tcg: Optimize env memory operations Richard Henderson
2023-08-31  2:57 ` [PATCH 4/4] tcg: Eliminate duplicate env store operations Richard Henderson
2023-09-28 22:45 ` [PATCH 0/4] tcg: Optimize loads and stores to env Richard Henderson
2023-10-13 17:40   ` Richard Henderson
2023-10-16  3:01 ` gaosong

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).