qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 11/15] s390x: Implement opcode helpers


From: Alexander Graf
Subject: Re: [Qemu-devel] [PATCH 11/15] s390x: Implement opcode helpers
Date: Wed, 13 Apr 2011 07:20:05 +0200

Am 12.04.2011 um 23:32 schrieb Aurelien Jarno <address@hidden>:

> On Mon, Apr 04, 2011 at 04:32:20PM +0200, Alexander Graf wrote:
>> There are some instructions that can't (or shouldn't) be expressed by pure
>> tcg code. For those, we call into externally compiled C functions.
>> 
>> This patch implements those C functions.
>> 
>> Signed-off-by: Alexander Graf <address@hidden>
>> 
>> ---
>> 
>> v1 -> v2:
>> 
>>  - new clock syntax
>>  - use float_chs
>>  - use float compare built-ins
>>  - remove redundant EXECUTE_SVC
>> 
>> v2 -> v3:
>> 
>>  - use g2h instead of direct casts
>>  - remove old code stuffed into comments
>> ---
>> target-s390x/helpers.h   |  151 +++
>> target-s390x/op_helper.c | 2881 
>> +++++++++++++++++++++++++++++++++++++++++++++-
>> 2 files changed, 3030 insertions(+), 2 deletions(-)
>> create mode 100644 target-s390x/helpers.h
> 
> I don't have a deep knowledge of s390 and this patch is very long (not a
> complain, it's IBM fault), so I haven't look in details. You'll find
> some comments below.
> 
> One general comment is that you often pass index of the registers to the
> helper instead of passing the values. This prevent declaring the helpers
> as const, which is not very good from the performance point of view. In
> some cases there is some good reasons though (like returning 128-bit 
> values).

There always was a good reason: passing more than 1 value as output. However, 
I've reworked quite a lot of the code to not return cc, so we can calculate it 
lazily. I probably forgot to adjust the calling afterwards :). Thanks for the 
catch!

Alex




reply via email to

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