|
From: | Tom Musta |
Subject: | Re: [Qemu-ppc] [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.
[Prev in Thread] | Current Thread | [Next in Thread] |