qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v4 5/7] target-m68k: use floatx80 internally


From: Laurent Vivier
Subject: Re: [Qemu-devel] [PATCH v4 5/7] target-m68k: use floatx80 internally
Date: Mon, 19 Jun 2017 23:42:07 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0

Le 19/06/2017 à 23:03, Laurent Vivier a écrit :
> Le 19/06/2017 à 22:53, Richard Henderson a écrit :
>>
>> It would also make me happier if we were to adjust the definition of
>> fl0atx80 to more closely match m68k and those missing zeros.  Shouldn't
>> real hardware move instructions propagate those middle 2 bytes
>> regardless of contents?
>>
>> Perhaps something like
>>
>> #ifdef TARGET_M68K
>>   typedef struct {
>>     uint64_t low;
>>     union {
>>       uin32_t high32;
>>       struct {
>> #ifdef HOST_WORDS_BIGENDIAN
>>         uint16_t high, zero;
>> #else
>>         uint16_t zero, high;
>> #endif
>>       };
>>     };
>>   } floatx80;
>> #else
>>   ...
>> #endif
>>
>> (with a minor fix to make_floatx80 to use named initializers).
>>
>> Then you can use full 32-bit store insns when copying data here.  Which
>> also allows you to drop some of the shifts you're needing to add.
> 
> OK, I will.

The softfloat is in the target independent code, so we can't adjust the
size of floatx80 by target, TARGET_XXXX are poisoned when used in
softfloat.h.

Laurent



reply via email to

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