@samitouri / QOSamiQemu / commits / 196242a0d9

fpu: Use get_float_infzeronan_rule in partsN_pick_nan_muladd

Deduplicate the uses to a local variable. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

Richard Henderson committed May 1, 2026 at 17:04 UTC 196242a0d9ed3074391d13517fa679e5149441c0
1 file changed +3 -3
fpu/softfloat-parts.c.inc
+3 -3
@@ -122,14 +122,14 @@ static FloatPartsN partsN(pick_nan_muladd)(const FloatPartsN *a,
122 {
123 bool infzero = (ab_mask == float_cmask_infzero);
124 bool have_snan = (abc_mask & float_cmask_snan);
125 + FloatInfZeroNaNRule izn_rule = get_float_infzeronan_rule(s);
126 const FloatPartsN *ret;
127
128 if (unlikely(have_snan)) {
129 float_raise(float_flag_invalid | float_flag_invalid_snan, s);
130 }
131
131 - if (infzero &&
132 - !(s->float_infzeronan_rule & float_infzeronan_suppress_invalid)) {
132 + if (infzero && !(izn_rule & float_infzeronan_suppress_invalid)) {
133 /* This is (0 * inf) + NaN or (inf * 0) + NaN */
134 float_raise(float_flag_invalid | float_flag_invalid_imz, s);
135 }
@@ -147,7 +147,7 @@ static FloatPartsN partsN(pick_nan_muladd)(const FloatPartsN *a,
147 * Inf * 0 + NaN -- some implementations return the
148 * default NaN here, and some return the input NaN.
149 */
150 - switch (s->float_infzeronan_rule & ~float_infzeronan_suppress_invalid) {
150 + switch (izn_rule & ~float_infzeronan_suppress_invalid) {
151 case float_infzeronan_dnan_never:
152 break;
153 case float_infzeronan_dnan_always: