summaryrefslogtreecommitdiff
path: root/fpu
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2026-05-01 17:04:46 +1000
committerRichard Henderson <richard.henderson@linaro.org>2026-05-21 19:18:56 -0700
commit196242a0d9ed3074391d13517fa679e5149441c0 (patch)
treeab384ae9e1810efec6bdd9efc4f4fd9a042a0cc9 /fpu
parent0e8537cac6342da7fd1705eeafa28f2228ef6974 (diff)
downloadqemu-196242a0d9ed3074391d13517fa679e5149441c0.tar.gz
qemu-196242a0d9ed3074391d13517fa679e5149441c0.zip
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>
Diffstat (limited to 'fpu')
-rw-r--r--fpu/softfloat-parts.c.inc6
1 files changed, 3 insertions, 3 deletions
diff --git a/fpu/softfloat-parts.c.inc b/fpu/softfloat-parts.c.inc
index 7781e16122..1e92251761 100644
--- a/fpu/softfloat-parts.c.inc
+++ b/fpu/softfloat-parts.c.inc
@@ -122,14 +122,14 @@ static FloatPartsN partsN(pick_nan_muladd)(const FloatPartsN *a,
{
bool infzero = (ab_mask == float_cmask_infzero);
bool have_snan = (abc_mask & float_cmask_snan);
+ FloatInfZeroNaNRule izn_rule = get_float_infzeronan_rule(s);
const FloatPartsN *ret;
if (unlikely(have_snan)) {
float_raise(float_flag_invalid | float_flag_invalid_snan, s);
}
- if (infzero &&
- !(s->float_infzeronan_rule & float_infzeronan_suppress_invalid)) {
+ if (infzero && !(izn_rule & float_infzeronan_suppress_invalid)) {
/* This is (0 * inf) + NaN or (inf * 0) + NaN */
float_raise(float_flag_invalid | float_flag_invalid_imz, s);
}
@@ -147,7 +147,7 @@ static FloatPartsN partsN(pick_nan_muladd)(const FloatPartsN *a,
* Inf * 0 + NaN -- some implementations return the
* default NaN here, and some return the input NaN.
*/
- switch (s->float_infzeronan_rule & ~float_infzeronan_suppress_invalid) {
+ switch (izn_rule & ~float_infzeronan_suppress_invalid) {
case float_infzeronan_dnan_never:
break;
case float_infzeronan_dnan_always: