@samitouri / QOSamiQemu / commits / 80fda2c761

fpu: Drop parts_round_to_int_normal

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:57 UTC 80fda2c761a4a4c8b9f6f389e94f97ebc2450926
2 files changed +12 -20
fpu/softfloat-parts.c.inc
+5 -5
@@ -1127,7 +1127,7 @@ static void partsN(sqrt)(FloatPartsN *a, float_status *status,
1127 * according to the IEC/IEEE Standard for Binary Floating-Point
1128 * Arithmetic.
1129 *
1130 - * parts_round_to_int_normal is an internal helper function for
1130 + * partsN(round_to_int_normal) is an internal helper function for
1131 * normal numbers only, returning true for inexact but not directly
1132 * raising float_flag_inexact.
1133 */
@@ -1270,7 +1270,7 @@ static void partsN(round_to_int)(FloatPartsN *a, FloatRoundMode rmode,
1270 break;
1271 case float_class_normal:
1272 case float_class_denormal:
1273 - if (parts_round_to_int_normal(a, rmode, scale, fmt->frac_size)) {
1273 + if (partsN(round_to_int_normal)(a, rmode, scale, fmt->frac_size)) {
1274 float_raise(float_flag_inexact, s);
1275 }
1276 break;
@@ -1316,7 +1316,7 @@ static int64_t partsN(float_to_sint)(FloatPartsN *p, FloatRoundMode rmode,
1316 case float_class_normal:
1317 case float_class_denormal:
1318 /* TODO: N - 2 is frac_size for rounding; could use input fmt. */
1319 - if (parts_round_to_int_normal(p, rmode, scale, N - 2)) {
1319 + if (partsN(round_to_int_normal)(p, rmode, scale, N - 2)) {
1320 flags = float_flag_inexact;
1321 }
1322
@@ -1384,7 +1384,7 @@ static uint64_t partsN(float_to_uint)(FloatPartsN *p, FloatRoundMode rmode,
1384 case float_class_normal:
1385 case float_class_denormal:
1386 /* TODO: N - 2 is frac_size for rounding; could use input fmt. */
1387 - if (parts_round_to_int_normal(p, rmode, scale, N - 2)) {
1387 + if (partsN(round_to_int_normal)(p, rmode, scale, N - 2)) {
1388 flags = float_flag_inexact;
1389 if (p->cls == float_class_zero) {
1390 r = 0;
@@ -1448,7 +1448,7 @@ static int64_t partsN(float_to_sint_modulo)(FloatPartsN *p,
1448 case float_class_normal:
1449 case float_class_denormal:
1450 /* TODO: N - 2 is frac_size for rounding; could use input fmt. */
1451 - if (parts_round_to_int_normal(p, rmode, 0, N - 2)) {
1451 + if (partsN(round_to_int_normal)(p, rmode, 0, N - 2)) {
1452 flags = float_flag_inexact;
1453 }
1454
fpu/softfloat.c
+7 -15
@@ -779,14 +779,6 @@ static float128 QEMU_FLATTEN float128_pack_raw(const FloatParts128 *p)
779 FloatParts128 *: parts128_##NAME, \
780 FloatParts256 *: parts256_##NAME)
781
782 -static bool parts64_round_to_int_normal(FloatParts64 *a, FloatRoundMode rm,
783 - int scale, int frac_size);
784 -static bool parts128_round_to_int_normal(FloatParts128 *a, FloatRoundMode r,
785 - int scale, int frac_size);
786 -
787 -#define parts_round_to_int_normal(A, R, C, F) \
788 - PARTS_GENERIC_64_128(round_to_int_normal, A)(A, R, C, F)
789 -
782 static void parts64_round_to_int(FloatParts64 *a, FloatRoundMode rm,
783 int scale, float_status *s,
784 const FloatFmt *fmt);
@@ -3365,7 +3357,7 @@ static Int128 float128_to_int128_scalbn(float128 a, FloatRoundMode rmode,
3357
3358 case float_class_normal:
3359 case float_class_denormal:
3368 - if (parts_round_to_int_normal(&p, rmode, scale, 128 - 2)) {
3360 + if (parts128_round_to_int_normal(&p, rmode, scale, 128 - 2)) {
3361 flags = float_flag_inexact;
3362 }
3363
@@ -3793,7 +3785,7 @@ static Int128 float128_to_uint128_scalbn(float128 a, FloatRoundMode rmode,
3785
3786 case float_class_normal:
3787 case float_class_denormal:
3796 - if (parts_round_to_int_normal(&p, rmode, scale, 128 - 2)) {
3788 + if (parts128_round_to_int_normal(&p, rmode, scale, 128 - 2)) {
3789 flags = float_flag_inexact;
3790 if (p.cls == float_class_zero) {
3791 r = int128_zero();
@@ -5482,11 +5474,11 @@ static void parts_s390_divide_to_integer(FloatParts64 *a, FloatParts64 *b,
5474 * of distinguishing partial quotients, so ignore the exception.
5475 */
5476 *n = *q;
5485 - parts_round_to_int_normal(n,
5486 - is_q_smallish ?
5487 - final_quotient_rounding_mode :
5488 - float_round_to_zero,
5489 - 0, fmt->frac_size);
5477 + parts64_round_to_int_normal(n,
5478 + is_q_smallish
5479 + ? final_quotient_rounding_mode
5480 + : float_round_to_zero,
5481 + 0, fmt->frac_size);
5482
5483 /* Compute precise remainder */
5484 r_precise_buf = *b;