qemu-arm
[Top][All Lists]
Advanced

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

Re: [PATCH v6 68/82] target/arm: Implement SVE2 FLOGB


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~



reply via email to

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