[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 3/4] softfloat: use floatx80_infinity in soft
From: |
Laurent Vivier |
Subject: |
Re: [Qemu-devel] [PATCH v3 3/4] softfloat: use floatx80_infinity in softfloat |
Date: |
Sat, 24 Feb 2018 18:42:15 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 |
Le 24/02/2018 à 18:26, Richard Henderson a écrit :
> On 02/24/2018 09:21 AM, Laurent Vivier wrote:
>> I think the change should be in fact:
>>
>> @@ -4549,10 +4555,7 @@ int64_t floatx80_to_int64(floatx80 a,
>> float_status *status)
>> if ( shiftCount <= 0 ) {
>> if ( shiftCount ) {
>> float_raise(float_flag_invalid, status);
>> - if ( ! aSign
>> - || ( ( aExp == 0x7FFF )
>> - && ( aSig != LIT64( 0x8000000000000000 ) ) )
>> - ) {
>> + if (!aSign || floatx80_is_any_nan(a)) {
>> return LIT64( 0x7FFFFFFFFFFFFFFF );
>> }
>> return (int64_t) LIT64( 0x8000000000000000 );
>>
>> Do you agree?
>
> Yep, looks good.
Thank you.
And according to your previous comment, floatx80_is_infinity() should
become:
static inline int floatx80_is_infinity(floatx80 a)
{
#if defined(TARGET_M68K)
return (a.high & 0x7fff) == floatx80_infinity.high && !(a.low << 1);
#else
return (a.high & 0x7fff) == floatx80_infinity.high &&
a.low == floatx80_infinity.low;
#endif
}
Laurent
- [Qemu-devel] [PATCH v3 4/4] target/m68k: add fscale, fgetman and fgetexp, (continued)