@samitouri / QOSamiQemu / commits / 744b7cc656

fpu: Drop parts_float_to_float

Use parts{64,128}_float_to_float 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:46 UTC 744b7cc65633a6e0c84093c5f3e7a9ca0b202b6b
1 file changed +17 -20
fpu/softfloat.c
+17 -20
@@ -2695,9 +2695,6 @@ static void parts128_float_to_float(FloatParts128 *a, float_status *s)
2695 }
2696 }
2697
2698 -#define parts_float_to_float(P, S) \
2699 - PARTS_GENERIC_64_128(float_to_float, P)(P, S)
2700 -
2698 static void parts_float_to_float_narrow(FloatParts64 *a, FloatParts128 *b,
2699 float_status *s)
2700 {
@@ -2744,7 +2741,7 @@ float8_e4m3 float4_e2m1_to_float8_e4m3(float4_e2m1 a, float_status *s)
2741 FloatParts64 p;
2742
2743 float4_e2m1_unpack_canonical(&p, a, s);
2747 - parts_float_to_float(&p, s);
2744 + parts64_float_to_float(&p, s);
2745 return float8_e4m3_round_pack_canonical(&p, s, false);
2746 }
2747
@@ -2753,7 +2750,7 @@ bfloat16 float8_e4m3_to_bfloat16(float8_e4m3 a, float_status *s)
2750 FloatParts64 p;
2751
2752 float8_e4m3_unpack_canonical(&p, a, s);
2756 - parts_float_to_float(&p, s);
2753 + parts64_float_to_float(&p, s);
2754 return bfloat16_round_pack_canonical(&p, s);
2755 }
2756
@@ -2762,7 +2759,7 @@ bfloat16 float8_e5m2_to_bfloat16(float8_e5m2 a, float_status *s)
2759 FloatParts64 p;
2760
2761 float8_e5m2_unpack_canonical(&p, a, s);
2765 - parts_float_to_float(&p, s);
2762 + parts64_float_to_float(&p, s);
2763 return bfloat16_round_pack_canonical(&p, s);
2764 }
2765
@@ -2772,7 +2769,7 @@ float32 float16_to_float32(float16 a, bool ieee, float_status *s)
2769 FloatParts64 p;
2770
2771 float16a_unpack_canonical(&p, a, s, fmt16);
2775 - parts_float_to_float(&p, s);
2772 + parts64_float_to_float(&p, s);
2773 return float32_round_pack_canonical(&p, s);
2774 }
2775
@@ -2782,7 +2779,7 @@ float64 float16_to_float64(float16 a, bool ieee, float_status *s)
2779 FloatParts64 p;
2780
2781 float16a_unpack_canonical(&p, a, s, fmt16);
2785 - parts_float_to_float(&p, s);
2782 + parts64_float_to_float(&p, s);
2783 return float64_round_pack_canonical(&p, s);
2784 }
2785
@@ -2791,7 +2788,7 @@ float8_e4m3 float32_to_float8_e4m3(float32 a, bool saturate, float_status *s)
2788 FloatParts64 p;
2789
2790 float32_unpack_canonical(&p, a, s);
2794 - parts_float_to_float(&p, s);
2791 + parts64_float_to_float(&p, s);
2792 return float8_e4m3_round_pack_canonical(&p, s, saturate);
2793 }
2794
@@ -2811,7 +2808,7 @@ float16 float32_to_float16(float32 a, bool ieee, float_status *s)
2808
2809 float32_unpack_canonical(&p, a, s);
2810 if (ieee) {
2814 - parts_float_to_float(&p, s);
2811 + parts64_float_to_float(&p, s);
2812 fmt = &float16_params;
2813 } else {
2814 parts_float_to_ahp(&p, s);
@@ -2826,7 +2823,7 @@ soft_float32_to_float64(float32 a, float_status *s)
2823 FloatParts64 p;
2824
2825 float32_unpack_canonical(&p, a, s);
2829 - parts_float_to_float(&p, s);
2826 + parts64_float_to_float(&p, s);
2827 return float64_round_pack_canonical(&p, s);
2828 }
2829
@@ -2853,7 +2850,7 @@ float16 float64_to_float16(float64 a, bool ieee, float_status *s)
2850
2851 float64_unpack_canonical(&p, a, s);
2852 if (ieee) {
2856 - parts_float_to_float(&p, s);
2853 + parts64_float_to_float(&p, s);
2854 fmt = &float16_params;
2855 } else {
2856 parts_float_to_ahp(&p, s);
@@ -2867,7 +2864,7 @@ float32 float64_to_float32(float64 a, float_status *s)
2864 FloatParts64 p;
2865
2866 float64_unpack_canonical(&p, a, s);
2870 - parts_float_to_float(&p, s);
2867 + parts64_float_to_float(&p, s);
2868 return float32_round_pack_canonical(&p, s);
2869 }
2870
@@ -2876,7 +2873,7 @@ float8_e4m3 bfloat16_to_float8_e4m3(bfloat16 a, bool saturate, float_status *s)
2873 FloatParts64 p;
2874
2875 bfloat16_unpack_canonical(&p, a, s);
2879 - parts_float_to_float(&p, s);
2876 + parts64_float_to_float(&p, s);
2877 return float8_e4m3_round_pack_canonical(&p, s, saturate);
2878 }
2879
@@ -2894,7 +2891,7 @@ float32 bfloat16_to_float32(bfloat16 a, float_status *s)
2891 FloatParts64 p;
2892
2893 bfloat16_unpack_canonical(&p, a, s);
2897 - parts_float_to_float(&p, s);
2894 + parts64_float_to_float(&p, s);
2895 return float32_round_pack_canonical(&p, s);
2896 }
2897
@@ -2903,7 +2900,7 @@ float64 bfloat16_to_float64(bfloat16 a, float_status *s)
2900 FloatParts64 p;
2901
2902 bfloat16_unpack_canonical(&p, a, s);
2906 - parts_float_to_float(&p, s);
2903 + parts64_float_to_float(&p, s);
2904 return float64_round_pack_canonical(&p, s);
2905 }
2906
@@ -2912,7 +2909,7 @@ bfloat16 float32_to_bfloat16(float32 a, float_status *s)
2909 FloatParts64 p;
2910
2911 float32_unpack_canonical(&p, a, s);
2915 - parts_float_to_float(&p, s);
2912 + parts64_float_to_float(&p, s);
2913 return bfloat16_round_pack_canonical(&p, s);
2914 }
2915
@@ -2921,7 +2918,7 @@ bfloat16 float64_to_bfloat16(float64 a, float_status *s)
2918 FloatParts64 p;
2919
2920 float64_unpack_canonical(&p, a, s);
2924 - parts_float_to_float(&p, s);
2921 + parts64_float_to_float(&p, s);
2922 return bfloat16_round_pack_canonical(&p, s);
2923 }
2924
@@ -2996,7 +2993,7 @@ float128 floatx80_to_float128(floatx80 a, float_status *s)
2993 FloatParts128 p;
2994
2995 if (floatx80_unpack_canonical(&p, a, s)) {
2999 - parts_float_to_float(&p, s);
2996 + parts128_float_to_float(&p, s);
2997 } else {
2998 parts128_default_nan(&p, s);
2999 }
@@ -3028,7 +3025,7 @@ floatx80 float128_to_floatx80(float128 a, float_status *s)
3025 FloatParts128 p;
3026
3027 float128_unpack_canonical(&p, a, s);
3031 - parts_float_to_float(&p, s);
3028 + parts128_float_to_float(&p, s);
3029 return floatx80_round_pack_canonical(&p, s);
3030 }
3031