[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 19/22] fpu/softfloat: re-factor scalbn
From: |
Richard Henderson |
Subject: |
Re: [Qemu-devel] [PATCH v3 19/22] fpu/softfloat: re-factor scalbn |
Date: |
Mon, 29 Jan 2018 07:56:42 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 |
On 01/29/2018 07:50 AM, Richard Henderson wrote:
> On 01/29/2018 03:59 AM, Alex Bennée wrote:
>>
>> Richard Henderson <address@hidden> writes:
>>
>>> On 01/24/2018 05:13 AM, Alex Bennée wrote:
>>>> +/* Multiply A by 2 raised to the power N. */
>>>> +static FloatParts scalbn_decomposed(FloatParts a, int n,
>>>> + float_status *s)
>>>> +{
>>>> + if (a.cls == float_class_normal) {
>>>> + a.exp += n;
>>>> + }
>>>> + return a;
>>>> +}
>>>
>>> ...
>>>
>>>> - if ( aExp == 0x7FF ) {
>>>> - if ( aSig ) {
>>>> - return propagateFloat64NaN(a, a, status);
>>>
>>> This is where we used to raise inexact.
>>> In the new function we need to handle this as in round_to_int.
>>
>> Why is the handling in round_canonical not good enough for this?
>
> This is scalbn -- you don't call round_canonical.
Scratch that -- too early. And I was trying to talk about invalid not inexact.
What a cacophony of errors on my part. No wonder we're not communicating.
But you'll notice that round_canonical does not raise invalid for nans.
Perhaps we could rearrange things so that it does, but at the moment it is the
responsibility of prior code to have set invalid and msnan/dnan.
r~
- [Qemu-devel] [PATCH v3 20/22] fpu/softfloat: re-factor minmax, (continued)
- [Qemu-devel] [PATCH v3 20/22] fpu/softfloat: re-factor minmax, Alex Bennée, 2018/01/24
- [Qemu-devel] [PATCH v3 16/22] fpu/softfloat: re-factor round_to_int, Alex Bennée, 2018/01/24
- [Qemu-devel] [PATCH v3 21/22] fpu/softfloat: re-factor compare, Alex Bennée, 2018/01/24
- [Qemu-devel] [PATCH v3 19/22] fpu/softfloat: re-factor scalbn, Alex Bennée, 2018/01/24
- [Qemu-devel] [PATCH v3 22/22] fpu/softfloat: re-factor sqrt, Alex Bennée, 2018/01/24
- [Qemu-devel] [PATCH v3 15/22] fpu/softfloat: re-factor muladd, Alex Bennée, 2018/01/24
- [Qemu-devel] [PATCH v3 17/22] fpu/softfloat: re-factor float to int/uint, Alex Bennée, 2018/01/24
- Re: [Qemu-devel] [PATCH v3 00/22] re-factor softfloat and add fp16 functions, no-reply, 2018/01/24
- Re: [Qemu-devel] [PATCH v3 00/22] re-factor softfloat and add fp16 functions, Howard Spoelstra, 2018/01/24