Use parts{64,128}_silence_nan at each call site.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
fpu/softfloat.c | 12 +++++-------
fpu/softfloat-parts.c.inc | 6 +++---
2 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/fpu/softfloat.c b/fpu/softfloat.c
index 76c1d4e38a..571b5f09f3 100644
--- a/fpu/softfloat.c
+++ b/fpu/softfloat.c
@@ -779,8 +779,6 @@ static float128 QEMU_FLATTEN float128_pack_raw(const FloatParts128 *p)
FloatParts128 *: parts128_##NAME, \
FloatParts256 *: parts256_##NAME)
-#define parts_silence_nan(P, S) PARTS_GENERIC_64_128(silence_nan, P)(P, S)
-
static void parts64_return_nan(FloatParts64 *a, float_status *s);
static void parts128_return_nan(FloatParts128 *a, float_status *s);
@@ -5034,7 +5032,7 @@ float16 float16_silence_nan(float16 a, float_status *status)
float16_unpack_raw(&p, a);
p.frac <<= float16_params.frac_shift;
- parts_silence_nan(&p, status);
+ parts64_silence_nan(&p, status);
p.frac >>= float16_params.frac_shift;
return float16_pack_raw(&p);
}
@@ -5045,7 +5043,7 @@ float32 float32_silence_nan(float32 a, float_status *status)
float32_unpack_raw(&p, a);
p.frac <<= float32_params.frac_shift;
- parts_silence_nan(&p, status);
+ parts64_silence_nan(&p, status);
p.frac >>= float32_params.frac_shift;
return float32_pack_raw(&p);
}
@@ -5056,7 +5054,7 @@ float64 float64_silence_nan(float64 a, float_status *status)
float64_unpack_raw(&p, a);
p.frac <<= float64_params.frac_shift;
- parts_silence_nan(&p, status);
+ parts64_silence_nan(&p, status);
p.frac >>= float64_params.frac_shift;
return float64_pack_raw(&p);
}
@@ -5067,7 +5065,7 @@ bfloat16 bfloat16_silence_nan(bfloat16 a, float_status *status)
bfloat16_unpack_raw(&p, a);
p.frac <<= bfloat16_params.frac_shift;
- parts_silence_nan(&p, status);
+ parts64_silence_nan(&p, status);
p.frac >>= bfloat16_params.frac_shift;
return bfloat16_pack_raw(&p);
}
@@ -5078,7 +5076,7 @@ float128 float128_silence_nan(float128 a, float_status *status)
float128_unpack_raw(&p, a);
frac_shl(&p, float128_params.frac_shift);
- parts_silence_nan(&p, status);
+ parts128_silence_nan(&p, status);
frac_shr(&p, float128_params.frac_shift);
return float128_pack_raw(&p);
}
diff --git a/fpu/softfloat-parts.c.inc b/fpu/softfloat-parts.c.inc
index 37ce731101..0d4a63fbff 100644
--- a/fpu/softfloat-parts.c.inc
+++ b/fpu/softfloat-parts.c.inc
@@ -23,7 +23,7 @@ static void partsN(return_nan)(FloatPartsN *a, float_status *s)
if (s->default_nan_mode) {
partsN(default_nan)(a, s);
} else {
- parts_silence_nan(a, s);
+ partsN(silence_nan)(a, s);
}
break;
case float_class_qnan:
@@ -109,7 +109,7 @@ static FloatPartsN *partsN(pick_nan)(FloatPartsN *a, FloatPartsN *b,
}
if (is_snan(ret->cls)) {
- parts_silence_nan(ret, s);
+ partsN(silence_nan)(ret, s);
}
return ret;
}
@@ -179,7 +179,7 @@ static FloatPartsN *partsN(pick_nan_muladd)(FloatPartsN *a, FloatPartsN *b,
}
if (is_snan(ret->cls)) {
- parts_silence_nan(ret, s);
+ partsN(silence_nan)(ret, s);
}
return ret;
--
2.43.0