@samitouri / QOSamiQemu / commits / d03a20567f

fpu: Drop parts_div

Use parts{64,128}_div 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 19:47 UTC d03a20567f5cf1b3fb605b8533c3bd450cb9d67b
1 file changed +8 -16
fpu/softfloat.c
+8 -16
@@ -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 FloatParts64 *parts64_div(FloatParts64 *a, FloatParts64 *b,
783 - float_status *s);
784 -static FloatParts128 *parts128_div(FloatParts128 *a, FloatParts128 *b,
785 - float_status *s);
786 -
787 -#define parts_div(A, B, S) \
788 - PARTS_GENERIC_64_128(div, A)(A, B, S)
789 -
782 static FloatParts64 *parts64_modrem(FloatParts64 *a, FloatParts64 *b,
783 uint64_t *mod_quot, float_status *s);
784 static FloatParts128 *parts128_modrem(FloatParts128 *a, FloatParts128 *b,
@@ -2505,7 +2497,7 @@ float16 float16_div(float16 a, float16 b, float_status *status)
2497
2498 float16_unpack_canonical(&pa, a, status);
2499 float16_unpack_canonical(&pb, b, status);
2508 - pr = parts_div(&pa, &pb, status);
2500 + pr = parts64_div(&pa, &pb, status);
2501
2502 return float16_round_pack_canonical(pr, status);
2503 }
@@ -2517,7 +2509,7 @@ soft_f32_div(float32 a, float32 b, float_status *status)
2509
2510 float32_unpack_canonical(&pa, a, status);
2511 float32_unpack_canonical(&pb, b, status);
2520 - pr = parts_div(&pa, &pb, status);
2512 + pr = parts64_div(&pa, &pb, status);
2513
2514 return float32_round_pack_canonical(pr, status);
2515 }
@@ -2529,7 +2521,7 @@ soft_f64_div(float64 a, float64 b, float_status *status)
2521
2522 float64_unpack_canonical(&pa, a, status);
2523 float64_unpack_canonical(&pb, b, status);
2532 - pr = parts_div(&pa, &pb, status);
2524 + pr = parts64_div(&pa, &pb, status);
2525
2526 return float64_round_pack_canonical(pr, status);
2527 }
@@ -2598,7 +2590,7 @@ float64 float64r32_div(float64 a, float64 b, float_status *status)
2590
2591 float64_unpack_canonical(&pa, a, status);
2592 float64_unpack_canonical(&pb, b, status);
2601 - pr = parts_div(&pa, &pb, status);
2593 + pr = parts64_div(&pa, &pb, status);
2594
2595 return float64r32_round_pack_canonical(pr, status);
2596 }
@@ -2610,7 +2602,7 @@ bfloat16_div(bfloat16 a, bfloat16 b, float_status *status)
2602
2603 bfloat16_unpack_canonical(&pa, a, status);
2604 bfloat16_unpack_canonical(&pb, b, status);
2613 - pr = parts_div(&pa, &pb, status);
2605 + pr = parts64_div(&pa, &pb, status);
2606
2607 return bfloat16_round_pack_canonical(pr, status);
2608 }
@@ -2622,7 +2614,7 @@ float128_div(float128 a, float128 b, float_status *status)
2614
2615 float128_unpack_canonical(&pa, a, status);
2616 float128_unpack_canonical(&pb, b, status);
2625 - pr = parts_div(&pa, &pb, status);
2617 + pr = parts128_div(&pa, &pb, status);
2618
2619 return float128_round_pack_canonical(pr, status);
2620 }
@@ -2636,7 +2628,7 @@ floatx80 floatx80_div(floatx80 a, floatx80 b, float_status *status)
2628 return floatx80_default_nan(status);
2629 }
2630
2639 - pr = parts_div(&pa, &pb, status);
2631 + pr = parts128_div(&pa, &pb, status);
2632 return floatx80_round_pack_canonical(pr, status);
2633 }
2634
@@ -5488,7 +5480,7 @@ static void parts_s390_divide_to_integer(FloatParts64 *a, FloatParts64 *b,
5480
5481 /* Compute precise quotient */
5482 q_buf = *a;
5491 - q = parts_div(&q_buf, b, status);
5483 + q = parts64_div(&q_buf, b, status);
5484
5485 /*
5486 * Check whether two closest integers can be precisely represented,