fpu: Return struct from float128_unpack_raw
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Richard Henderson committed
Apr 25, 2026 at 19:47 UTC
845970afdf12b8eed39a7a0f4d353fe0b0743713
1 file changed
+4
-5
fpu/softfloat.c
+4
-5
@@ -646,12 +646,12 @@ static FloatParts64 unpack_raw64(const FloatFmt *fmt, uint64_t raw)
646
};
647
}
648
649
-static void QEMU_FLATTEN float128_unpack_raw(FloatParts128 *p, float128 f)
649
+static FloatParts128 float128_unpack_raw(float128 f)
650
{
651
const int f_size = float128_params.frac_size - 64;
652
const int e_size = float128_params.exp_size;
653
654
- *p = (FloatParts128) {
654
+ return (FloatParts128) {
655
.cls = float_class_unclassified,
656
.sign = extract64(f.high, f_size + e_size, 1),
657
.exp = extract64(f.high, f_size, e_size),
@@ -1586,7 +1586,7 @@ static float64 float64r32_round_pack_canonical(FloatParts64 *p,
1586
static void float128_unpack_canonical(FloatParts128 *p, float128 f,
1587
float_status *s)
1588
{
1589
- float128_unpack_raw(p, f);
1589
+ *p = float128_unpack_raw(f);
1590
parts128_canonicalize(p, s, &float128_params);
1591
}
1592
@@ -4845,9 +4845,8 @@ bfloat16 bfloat16_silence_nan(bfloat16 a, float_status *status)
4845
4846
float128 float128_silence_nan(float128 a, float_status *status)
4847
{
4848
- FloatParts128 p;
4848
+ FloatParts128 p = float128_unpack_raw(a);
4849
4850
- float128_unpack_raw(&p, a);
4850
frac128_shl(&p, float128_params.frac_shift);
4851
parts128_silence_nan(&p, status);
4852
frac128_shr(&p, float128_params.frac_shift);