@samitouri / QOSamiQemu / commits / 253236f6b0

fpu: Drop parts_float_to_uint

Use parts{64,128}_float_to_uint 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 20:05 UTC 253236f6b0b1e1057f199b5a26c80e55f94a09c0
1 file changed +16 -26
fpu/softfloat.c
+16 -26
@@ -779,16 +779,6 @@ static float128 QEMU_FLATTEN float128_pack_raw(const FloatParts128 *p)
779 FloatParts128 *: parts128_##NAME, \
780 FloatParts256 *: parts256_##NAME)
781
782 -static uint64_t parts64_float_to_uint(FloatParts64 *p, FloatRoundMode rmode,
783 - int scale, uint64_t max,
784 - float_status *s);
785 -static uint64_t parts128_float_to_uint(FloatParts128 *p, FloatRoundMode rmode,
786 - int scale, uint64_t max,
787 - float_status *s);
788 -
789 -#define parts_float_to_uint(P, R, Z, M, S) \
790 - PARTS_GENERIC_64_128(float_to_uint, P)(P, R, Z, M, S)
791 -
782 static int64_t parts64_float_to_sint_modulo(FloatParts64 *p,
783 FloatRoundMode rmode,
784 int bitsm1, float_status *s);
@@ -3596,7 +3586,7 @@ uint8_t float16_to_uint8_scalbn(float16 a, FloatRoundMode rmode, int scale,
3586 FloatParts64 p;
3587
3588 float16_unpack_canonical(&p, a, s);
3599 - return parts_float_to_uint(&p, rmode, scale, UINT8_MAX, s);
3589 + return parts64_float_to_uint(&p, rmode, scale, UINT8_MAX, s);
3590 }
3591
3592 uint16_t float16_to_uint16_scalbn(float16 a, FloatRoundMode rmode, int scale,
@@ -3605,7 +3595,7 @@ uint16_t float16_to_uint16_scalbn(float16 a, FloatRoundMode rmode, int scale,
3595 FloatParts64 p;
3596
3597 float16_unpack_canonical(&p, a, s);
3608 - return parts_float_to_uint(&p, rmode, scale, UINT16_MAX, s);
3598 + return parts64_float_to_uint(&p, rmode, scale, UINT16_MAX, s);
3599 }
3600
3601 uint32_t float16_to_uint32_scalbn(float16 a, FloatRoundMode rmode, int scale,
@@ -3614,7 +3604,7 @@ uint32_t float16_to_uint32_scalbn(float16 a, FloatRoundMode rmode, int scale,
3604 FloatParts64 p;
3605
3606 float16_unpack_canonical(&p, a, s);
3617 - return parts_float_to_uint(&p, rmode, scale, UINT32_MAX, s);
3607 + return parts64_float_to_uint(&p, rmode, scale, UINT32_MAX, s);
3608 }
3609
3610 uint64_t float16_to_uint64_scalbn(float16 a, FloatRoundMode rmode, int scale,
@@ -3623,7 +3613,7 @@ uint64_t float16_to_uint64_scalbn(float16 a, FloatRoundMode rmode, int scale,
3613 FloatParts64 p;
3614
3615 float16_unpack_canonical(&p, a, s);
3626 - return parts_float_to_uint(&p, rmode, scale, UINT64_MAX, s);
3616 + return parts64_float_to_uint(&p, rmode, scale, UINT64_MAX, s);
3617 }
3618
3619 uint16_t float32_to_uint16_scalbn(float32 a, FloatRoundMode rmode, int scale,
@@ -3632,7 +3622,7 @@ uint16_t float32_to_uint16_scalbn(float32 a, FloatRoundMode rmode, int scale,
3622 FloatParts64 p;
3623
3624 float32_unpack_canonical(&p, a, s);
3635 - return parts_float_to_uint(&p, rmode, scale, UINT16_MAX, s);
3625 + return parts64_float_to_uint(&p, rmode, scale, UINT16_MAX, s);
3626 }
3627
3628 uint32_t float32_to_uint32_scalbn(float32 a, FloatRoundMode rmode, int scale,
@@ -3641,7 +3631,7 @@ uint32_t float32_to_uint32_scalbn(float32 a, FloatRoundMode rmode, int scale,
3631 FloatParts64 p;
3632
3633 float32_unpack_canonical(&p, a, s);
3644 - return parts_float_to_uint(&p, rmode, scale, UINT32_MAX, s);
3634 + return parts64_float_to_uint(&p, rmode, scale, UINT32_MAX, s);
3635 }
3636
3637 uint64_t float32_to_uint64_scalbn(float32 a, FloatRoundMode rmode, int scale,
@@ -3650,7 +3640,7 @@ uint64_t float32_to_uint64_scalbn(float32 a, FloatRoundMode rmode, int scale,
3640 FloatParts64 p;
3641
3642 float32_unpack_canonical(&p, a, s);
3653 - return parts_float_to_uint(&p, rmode, scale, UINT64_MAX, s);
3643 + return parts64_float_to_uint(&p, rmode, scale, UINT64_MAX, s);
3644 }
3645
3646 uint16_t float64_to_uint16_scalbn(float64 a, FloatRoundMode rmode, int scale,
@@ -3659,7 +3649,7 @@ uint16_t float64_to_uint16_scalbn(float64 a, FloatRoundMode rmode, int scale,
3649 FloatParts64 p;
3650
3651 float64_unpack_canonical(&p, a, s);
3662 - return parts_float_to_uint(&p, rmode, scale, UINT16_MAX, s);
3652 + return parts64_float_to_uint(&p, rmode, scale, UINT16_MAX, s);
3653 }
3654
3655 uint32_t float64_to_uint32_scalbn(float64 a, FloatRoundMode rmode, int scale,
@@ -3668,7 +3658,7 @@ uint32_t float64_to_uint32_scalbn(float64 a, FloatRoundMode rmode, int scale,
3658 FloatParts64 p;
3659
3660 float64_unpack_canonical(&p, a, s);
3671 - return parts_float_to_uint(&p, rmode, scale, UINT32_MAX, s);
3661 + return parts64_float_to_uint(&p, rmode, scale, UINT32_MAX, s);
3662 }
3663
3664 uint64_t float64_to_uint64_scalbn(float64 a, FloatRoundMode rmode, int scale,
@@ -3677,7 +3667,7 @@ uint64_t float64_to_uint64_scalbn(float64 a, FloatRoundMode rmode, int scale,
3667 FloatParts64 p;
3668
3669 float64_unpack_canonical(&p, a, s);
3680 - return parts_float_to_uint(&p, rmode, scale, UINT64_MAX, s);
3670 + return parts64_float_to_uint(&p, rmode, scale, UINT64_MAX, s);
3671 }
3672
3673 uint8_t bfloat16_to_uint8_scalbn(bfloat16 a, FloatRoundMode rmode,
@@ -3686,7 +3676,7 @@ uint8_t bfloat16_to_uint8_scalbn(bfloat16 a, FloatRoundMode rmode,
3676 FloatParts64 p;
3677
3678 bfloat16_unpack_canonical(&p, a, s);
3689 - return parts_float_to_uint(&p, rmode, scale, UINT8_MAX, s);
3679 + return parts64_float_to_uint(&p, rmode, scale, UINT8_MAX, s);
3680 }
3681
3682 uint16_t bfloat16_to_uint16_scalbn(bfloat16 a, FloatRoundMode rmode,
@@ -3695,7 +3685,7 @@ uint16_t bfloat16_to_uint16_scalbn(bfloat16 a, FloatRoundMode rmode,
3685 FloatParts64 p;
3686
3687 bfloat16_unpack_canonical(&p, a, s);
3698 - return parts_float_to_uint(&p, rmode, scale, UINT16_MAX, s);
3688 + return parts64_float_to_uint(&p, rmode, scale, UINT16_MAX, s);
3689 }
3690
3691 uint32_t bfloat16_to_uint32_scalbn(bfloat16 a, FloatRoundMode rmode,
@@ -3704,7 +3694,7 @@ uint32_t bfloat16_to_uint32_scalbn(bfloat16 a, FloatRoundMode rmode,
3694 FloatParts64 p;
3695
3696 bfloat16_unpack_canonical(&p, a, s);
3707 - return parts_float_to_uint(&p, rmode, scale, UINT32_MAX, s);
3697 + return parts64_float_to_uint(&p, rmode, scale, UINT32_MAX, s);
3698 }
3699
3700 uint64_t bfloat16_to_uint64_scalbn(bfloat16 a, FloatRoundMode rmode,
@@ -3713,7 +3703,7 @@ uint64_t bfloat16_to_uint64_scalbn(bfloat16 a, FloatRoundMode rmode,
3703 FloatParts64 p;
3704
3705 bfloat16_unpack_canonical(&p, a, s);
3716 - return parts_float_to_uint(&p, rmode, scale, UINT64_MAX, s);
3706 + return parts64_float_to_uint(&p, rmode, scale, UINT64_MAX, s);
3707 }
3708
3709 static uint32_t float128_to_uint32_scalbn(float128 a, FloatRoundMode rmode,
@@ -3722,7 +3712,7 @@ static uint32_t float128_to_uint32_scalbn(float128 a, FloatRoundMode rmode,
3712 FloatParts128 p;
3713
3714 float128_unpack_canonical(&p, a, s);
3725 - return parts_float_to_uint(&p, rmode, scale, UINT32_MAX, s);
3715 + return parts128_float_to_uint(&p, rmode, scale, UINT32_MAX, s);
3716 }
3717
3718 static uint64_t float128_to_uint64_scalbn(float128 a, FloatRoundMode rmode,
@@ -3731,7 +3721,7 @@ static uint64_t float128_to_uint64_scalbn(float128 a, FloatRoundMode rmode,
3721 FloatParts128 p;
3722
3723 float128_unpack_canonical(&p, a, s);
3734 - return parts_float_to_uint(&p, rmode, scale, UINT64_MAX, s);
3724 + return parts128_float_to_uint(&p, rmode, scale, UINT64_MAX, s);
3725 }
3726
3727 static Int128 float128_to_uint128_scalbn(float128 a, FloatRoundMode rmode,