On Tue, 3 Dec 2024 at 20:40, Richard Henderson <richard.hender...@linaro.org> wrote: > > Move the fractional comparison to the end of the > float_2nan_prop_x87 case. This is not required for > any other 2nan propagation rule. Reorganize the > x87 case itself to break out of the switch when the > fractional comparison is not required. > > Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> > @@ -89,20 +84,24 @@ static FloatPartsN *partsN(pick_nan)(FloatPartsN *a, > FloatPartsN *b, > * return the NaN with the positive sign bit (if any). > */ > if (is_snan(a->cls)) { > - if (is_snan(b->cls)) { > - which = cmp > 0 ? 0 : 1; > - } else { > + if (!is_snan(b->cls)) { > which = is_qnan(b->cls) ? 1 : 0; > + break; > } > } else if (is_qnan(a->cls)) { > if (is_snan(b->cls) || !is_qnan(b->cls)) { Pre-existing code, but isn't is_snan(X) || !is_qnan(X) the same as !is_qnan(X) ? thanks -- PMM