qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 4/4] target/s390x: Re-implement a few EXECUTE ta


From: Richard Henderson
Subject: Re: [Qemu-devel] [PATCH 4/4] target/s390x: Re-implement a few EXECUTE target insns directly
Date: Fri, 26 May 2017 14:10:28 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0

On 05/25/2017 04:12 PM, Aurelien Jarno wrote:
On 2017-05-24 15:08, Richard Henderson wrote:
While the previous patch is required for proper conformance,
the vast majority of target insns are MVC and XC for implementing
memmove and memset respectively.  The next most common are CLC,
TR, and SVC.

Implementing these (and a few others for which we already have
an implementation) directly is faster than going through full
translation to a TB.

Signed-off-by: Richard Henderson <address@hidden>
---
  target/s390x/mem_helper.c | 66 ++++++++++++++++++++++++++++++++++++-----------
  1 file changed, 51 insertions(+), 15 deletions(-)

I have mixed feelings about this patch. On one side it is correct. On
the other side, I don't know if it really worth it. With the goto_ptr
optimization, it can be executed quite fast once it has been translated
once.

The thing is, I can't identify these being reused at all. The only case for which that would even seem to make sense is memcpy/memset that happens to use the same size. But even then doing the hashing to look up the block is more than the decoding required to run the helper directly.


r~





reply via email to

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