@samitouri / QOSamiQemu / commits / e788efd9af

fpu: Inline float16_unpack_raw into callers

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

Richard Henderson committed Apr 25, 2026 at 18:40 UTC e788efd9af1663ec98111bae3c0f4922be2e5abb
1 file changed +3 -10
fpu/softfloat.c
+3 -10
@@ -646,11 +646,6 @@ static FloatParts64 unpack_raw64(const FloatFmt *fmt, uint64_t raw)
646 };
647 }
648
649 -static void QEMU_FLATTEN float16_unpack_raw(FloatParts64 *p, float16 f)
650 -{
651 - *p = unpack_raw64(&float16_params, f);
652 -}
653 -
649 static void QEMU_FLATTEN bfloat16_unpack_raw(FloatParts64 *p, bfloat16 f)
650 {
651 *p = unpack_raw64(&bfloat16_params, f);
@@ -1482,7 +1477,7 @@ static FloatParts64 float8_e5m2_unpack_canonical(float8_e5m2 f, float_status *s)
1477 static void float16a_unpack_canonical(FloatParts64 *p, float16 f,
1478 float_status *s, const FloatFmt *params)
1479 {
1485 - float16_unpack_raw(p, f);
1480 + *p = unpack_raw64(&float16_params, f);
1481 parts64_canonicalize(p, s, params);
1482 }
1483
@@ -4978,9 +4973,8 @@ bfloat16 bfloat16_default_nan(float_status *status)
4973
4974 float16 float16_silence_nan(float16 a, float_status *status)
4975 {
4981 - FloatParts64 p;
4976 + FloatParts64 p = unpack_raw64(&float16_params, a);
4977
4983 - float16_unpack_raw(&p, a);
4978 p.frac <<= float16_params.frac_shift;
4979 parts64_silence_nan(&p, status);
4980 p.frac >>= float16_params.frac_shift;
@@ -5049,9 +5043,8 @@ static bool parts_squash_denormal(FloatParts64 p, float_status *status)
5043 float16 float16_squash_input_denormal(float16 a, float_status *status)
5044 {
5045 if (status->flush_inputs_to_zero) {
5052 - FloatParts64 p;
5046 + FloatParts64 p = unpack_raw64(&float16_params, a);
5047
5054 - float16_unpack_raw(&p, a);
5048 if (parts_squash_denormal(p, status)) {
5049 return float16_set_sign(float16_zero, p.sign);
5050 }