On Thu, Apr 30, 2020 at 10:18 AM Richard Henderson <
richard.hender...@linaro.org> wrote:

> On 4/29/20 5:20 PM, 罗勇刚(Yonggang Luo) wrote:
> > Question, in hard-float, if we don't want to read the fp register.
> > for example: If we wanna compute c = a + b in fp32
> > if c = a + b In hard float
> > and if b1 = c - a in hard float
> > if b1 != b at bitwise level, the we se the inexat to 1, otherwsie
> > we set inexat bit to 0? are this valid?
> >
> > we can also do it for a * b, a - b, a / b.
> >
>
> That does seem plausible, for all of the normal values for which we would
> apply
> the hard-float optimization anyway.  But we already check for the
> exceptional
> cases:
>
>     if (unlikely(f32_is_inf(ur))) {
>         s->float_exception_flags |= float_flag_overflow;
>     } else if (unlikely(fabsf(ur.h) <= FLT_MIN)) {
>         if (post == NULL || post(ua, ub)) {
>             goto soft;
>         }
>     }
>
> I means remove of all thse  exceptional cases, and detecting float
exception by hard float operation.

>
> r~
>


-- 
         此致
礼
罗勇刚
Yours
    sincerely,
Yonggang Luo

Reply via email to