[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v1 2/2] fpu/softfloat: raise float_invalid for N
From: |
Alex Bennée |
Subject: |
Re: [Qemu-devel] [PATCH v1 2/2] fpu/softfloat: raise float_invalid for NaN in float_to_int |
Date: |
Thu, 12 Apr 2018 14:23:42 +0100 |
User-agent: |
mu4e 1.1.0; emacs 26.1 |
Peter Maydell <address@hidden> writes:
> On 12 April 2018 at 12:58, Alex Bennée <address@hidden> wrote:
>> Fixes https://bugs.launchpad.net/qemu/+bug/1759264
>>
>> Signed-off-by: Alex Bennée <address@hidden>
>> Cc: Bastian Koppelmann <address@hidden>
>> ---
>> fpu/softfloat.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/fpu/softfloat.c b/fpu/softfloat.c
>> index 9b99aa6ec8..ddc77c273c 100644
>> --- a/fpu/softfloat.c
>> +++ b/fpu/softfloat.c
>> @@ -1344,6 +1344,7 @@ static int64_t round_to_int_and_pack(FloatParts in,
>> int rmode,
>> case float_class_qnan:
>> case float_class_dnan:
>> case float_class_msnan:
>> + s->float_exception_flags = orig_flags | float_flag_invalid;
>> return max;
>> case float_class_inf:
>> return p.sign ? min : max;
>
> Don't we also need to raise the Invalid flag for float_class_inf ?
>
> In both cases, this is fixing a regression introduced in
> commit ab52f973a50, I think.
And I guess the round_to_uint_and_pack as well which doesn't handle the
input inf case.
>
> thanks
> -- PMM
--
Alex Bennée