On 1/24/25 08:27, Peter Maydell wrote:
@@ -4411,6 +4431,11 @@ float32_hs_compare(float32 xa, float32 xb, float_status *s, bool is_quiet) goto soft; }+ if (unlikely(float32_is_denormal(ua.s) || float32_is_denormal(ub.s))) {+ /* We may need to set the input_denormal_used flag */ + goto soft; + } + float32_input_flush2(&ua.s, &ub.s, s); if (isgreaterequal(ua.h, ub.h)) { if (isgreater(ua.h, ub.h)) {
This obviates the float32_input_flush2 check.
@@ -4462,6 +4487,12 @@ float64_hs_compare(float64 xa, float64 xb, float_status *s, bool is_quiet) }float64_input_flush2(&ua.s, &ub.s, s);+ + if (unlikely(float64_is_denormal(ua.s) || float64_is_denormal(ub.s))) { + /* We may need to set the input_denormal_used flag */ + goto soft; + } + if (isgreaterequal(ua.h, ub.h)) { if (isgreater(ua.h, ub.h)) { return float_relation_greater;
Likewise, though you're shadowing in the wrong direction this time. Otherwise it looks ok. r~
