qemu-riscv
[Top][All Lists]
Advanced

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

Re: [PATCH 2/3] softfloat: add APIs to handle alternative sNaN propagati


From: Chih-Min Chao
Subject: Re: [PATCH 2/3] softfloat: add APIs to handle alternative sNaN propagation
Date: Fri, 14 Aug 2020 16:59:53 +0800



On Fri, Aug 14, 2020 at 1:21 AM Richard Henderson <richard.henderson@linaro.org> wrote:
On 7/30/20 2:52 AM, Chih-Min Chao wrote:
> For "fmax/fmin ft0, ft1, ft2" and if one of the inputs is sNaN,
>   The original logic
>     return NaN and set invalid flag if ft1 == sNaN || ft2 == sNan
>
>   The alternative path
>     set invalid flag if ft1 == sNaN || ft2 == sNaN
>     return NaN if ft1 == sNaN && ft2 == sNaN
>
>    The ieee754 spec allows both implementation and some architecture such
>    as riscv choose differenct defintion in two spec versions.
>    (riscv-spec-v2.2 use original version, riscv-spec-20191213 changes to
>     alternative)
>
> Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>

If both ft1 and ft2 are SNaN, surely the returned result is silenced?  That is
something that is handled by pick_nan, but is not handled here.
 Yes, it returns the default_nan, qNaN.
 

Also, the patch subject should be modified to emphasize that this only applies
to min/max and not propagation of all SNaN.

Will be fixed in the next version.
By the way,  the other patches have been queued in softfloat-next. 
Do I need to resend the other two patches in the next version or just this one ?

Chih-Min Chao
 

r~



reply via email to

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