qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v8 16/35] Hexagon (target/hexagon/conv_emu.[ch]) utility func


From: Richard Henderson
Subject: Re: [PATCH v8 16/35] Hexagon (target/hexagon/conv_emu.[ch]) utility functions
Date: Thu, 18 Mar 2021 12:32:56 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1

On 3/18/21 12:03 PM, Taylor Simpson wrote:
Here's an example from float_convs
     from single: f32(-0x1.31f75000000000000000p-40:0xab98fba8)
Softfloat:to uint64: 0 (INEXACT )
Hexagon:to uint64: 0 (INVALID)

Ahh, so an ieee conformance issue in hexagon -- failure to defer the sign check til after rounding.

So, just looking at the float_convs tests the Hexagon version of f32->uint64 
would be
     if (float32_is_neg(RsV) && !float32_is_any_nan(RsV)) {
         float_raise(float_flag_invalid, &env->fp_status);
         RddV = 0;
     } else {
         RddV = float32_to_uint64_round_to_zero(RsV, &env->fp_status);
     }

Looks good.  Just add a comment too.


r~



reply via email to

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