@samitouri / QOSamiQemu / commits / 8c030be798

fpu: Drop parts_silence_nan

Use parts{64,128}_silence_nan at each call site. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

Richard Henderson committed Apr 26, 2026 at 19:21 UTC 8c030be798ce1b10428fbc5026ac05c8ef405236
2 files changed +8 -10
fpu/softfloat-parts.c.inc
+3 -3
@@ -23,7 +23,7 @@ static void partsN(return_nan)(FloatPartsN *a, float_status *s)
23 if (s->default_nan_mode) {
24 partsN(default_nan)(a, s);
25 } else {
26 - parts_silence_nan(a, s);
26 + partsN(silence_nan)(a, s);
27 }
28 break;
29 case float_class_qnan:
@@ -109,7 +109,7 @@ static FloatPartsN *partsN(pick_nan)(FloatPartsN *a, FloatPartsN *b,
109 }
110
111 if (is_snan(ret->cls)) {
112 - parts_silence_nan(ret, s);
112 + partsN(silence_nan)(ret, s);
113 }
114 return ret;
115 }
@@ -179,7 +179,7 @@ static FloatPartsN *partsN(pick_nan_muladd)(FloatPartsN *a, FloatPartsN *b,
179 }
180
181 if (is_snan(ret->cls)) {
182 - parts_silence_nan(ret, s);
182 + partsN(silence_nan)(ret, s);
183 }
184 return ret;
185
fpu/softfloat.c
+5 -7
@@ -779,8 +779,6 @@ static float128 QEMU_FLATTEN float128_pack_raw(const FloatParts128 *p)
779 FloatParts128 *: parts128_##NAME, \
780 FloatParts256 *: parts256_##NAME)
781
782 -#define parts_silence_nan(P, S) PARTS_GENERIC_64_128(silence_nan, P)(P, S)
783 -
782 static void parts64_return_nan(FloatParts64 *a, float_status *s);
783 static void parts128_return_nan(FloatParts128 *a, float_status *s);
784
@@ -5034,7 +5032,7 @@ float16 float16_silence_nan(float16 a, float_status *status)
5032
5033 float16_unpack_raw(&p, a);
5034 p.frac <<= float16_params.frac_shift;
5037 - parts_silence_nan(&p, status);
5035 + parts64_silence_nan(&p, status);
5036 p.frac >>= float16_params.frac_shift;
5037 return float16_pack_raw(&p);
5038 }
@@ -5045,7 +5043,7 @@ float32 float32_silence_nan(float32 a, float_status *status)
5043
5044 float32_unpack_raw(&p, a);
5045 p.frac <<= float32_params.frac_shift;
5048 - parts_silence_nan(&p, status);
5046 + parts64_silence_nan(&p, status);
5047 p.frac >>= float32_params.frac_shift;
5048 return float32_pack_raw(&p);
5049 }
@@ -5056,7 +5054,7 @@ float64 float64_silence_nan(float64 a, float_status *status)
5054
5055 float64_unpack_raw(&p, a);
5056 p.frac <<= float64_params.frac_shift;
5059 - parts_silence_nan(&p, status);
5057 + parts64_silence_nan(&p, status);
5058 p.frac >>= float64_params.frac_shift;
5059 return float64_pack_raw(&p);
5060 }
@@ -5067,7 +5065,7 @@ bfloat16 bfloat16_silence_nan(bfloat16 a, float_status *status)
5065
5066 bfloat16_unpack_raw(&p, a);
5067 p.frac <<= bfloat16_params.frac_shift;
5070 - parts_silence_nan(&p, status);
5068 + parts64_silence_nan(&p, status);
5069 p.frac >>= bfloat16_params.frac_shift;
5070 return bfloat16_pack_raw(&p);
5071 }
@@ -5078,7 +5076,7 @@ float128 float128_silence_nan(float128 a, float_status *status)
5076
5077 float128_unpack_raw(&p, a);
5078 frac_shl(&p, float128_params.frac_shift);
5081 - parts_silence_nan(&p, status);
5079 + parts128_silence_nan(&p, status);
5080 frac_shr(&p, float128_params.frac_shift);
5081 return float128_pack_raw(&p);
5082 }