qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [V2 PATCH 11/18] softfloat: Fix float64_to_uint32


From: Tom Musta
Subject: Re: [Qemu-devel] [V2 PATCH 11/18] softfloat: Fix float64_to_uint32
Date: Wed, 11 Dec 2013 14:39:03 -0600
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.1.1

On 12/11/2013 1:53 PM, Peter Maydell wrote:
> On 11 December 2013 19:16, Tom Musta <address@hidden> wrote:
>>  uint32 float64_to_uint32( float64 a STATUS_PARAM )
>>  {
>> -    int64_t v;
>> +    uint64_t v;
>>      uint32 res;
>>
>> -    v = float64_to_int64(a STATUS_VAR);
>> -    if (v < 0) {
>> -        res = 0;
>> -        float_raise( float_flag_invalid STATUS_VAR);
>> -    } else if (v > 0xffffffff) {
>> +    v = float64_to_uint64(a STATUS_VAR);
>> +    if (v > 0xffffffff) {
>>          res = 0xffffffff;
>> +        STATUS(float_exception_flags) &= ~float_flag_inexact;
> 
> The IEEE exception flags are cumulative (ie never get cleared
> except by guest program explicit request); this change means
> that if a previous operation raised the inexact flag you've just
> lost that.
> 
> thanks
> -- PMM
> 
Thank you, Peter.  I will fix.




reply via email to

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