|
From: | Richard Henderson |
Subject: | Re: [PATCH v6 68/82] target/arm: Implement SVE2 FLOGB |
Date: | Sat, 15 May 2021 11:14:58 -0500 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 |
On 5/13/21 9:18 AM, Peter Maydell wrote:
+static int64_t do_float64_logb_as_int(float64 a, float_status *s) +{ + if (float64_is_normal(a)) { + return extract64(a, 52, 11) - 1023; + } else if (float64_is_infinity(a)) { + return INT64_MAX; + } else if (float64_is_any_nan(a) || float64_is_zero(a)) { + float_raise(float_flag_invalid, s); + return INT64_MIN; + } else { + /* denormal (see above) */ + return -1023 + 12 - clz64(extract64(a, 0, 52)); + } +}These don't look like they're handling denormal inputs quite right: * should raise the input-denormal exception * should flush-to-zero if that is enabled
Yep, thanks. r~
[Prev in Thread] | Current Thread | [Next in Thread] |