@samitouri / QOSamiQemu / commits / bd2f656f53

fpu: Drop parts_compare

Use parts{64,128}_compare 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:25 UTC bd2f656f53fbd99165d81befc131f9c75cba61f4
1 file changed +7 -15
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 FloatRelation parts64_compare(FloatParts64 *a, FloatParts64 *b,
783 - float_status *s, bool q);
784 -static FloatRelation parts128_compare(FloatParts128 *a, FloatParts128 *b,
785 - float_status *s, bool q);
786 -
787 -#define parts_compare(A, B, S, Q) \
788 - PARTS_GENERIC_64_128(compare, A)(A, B, S, Q)
789 -
782 static void parts64_scalbn(FloatParts64 *a, int n, float_status *s);
783 static void parts128_scalbn(FloatParts128 *a, int n, float_status *s);
784
@@ -4494,7 +4486,7 @@ float16_do_compare(float16 a, float16 b, float_status *s, bool is_quiet)
4486
4487 float16_unpack_canonical(&pa, a, s);
4488 float16_unpack_canonical(&pb, b, s);
4497 - return parts_compare(&pa, &pb, s, is_quiet);
4489 + return parts64_compare(&pa, &pb, s, is_quiet);
4490 }
4491
4492 FloatRelation float16_compare(float16 a, float16 b, float_status *s)
@@ -4514,7 +4506,7 @@ float32_do_compare(float32 a, float32 b, float_status *s, bool is_quiet)
4506
4507 float32_unpack_canonical(&pa, a, s);
4508 float32_unpack_canonical(&pb, b, s);
4517 - return parts_compare(&pa, &pb, s, is_quiet);
4509 + return parts64_compare(&pa, &pb, s, is_quiet);
4510 }
4511
4512 static FloatRelation QEMU_FLATTEN
@@ -4568,7 +4560,7 @@ float64_do_compare(float64 a, float64 b, float_status *s, bool is_quiet)
4560
4561 float64_unpack_canonical(&pa, a, s);
4562 float64_unpack_canonical(&pb, b, s);
4571 - return parts_compare(&pa, &pb, s, is_quiet);
4563 + return parts64_compare(&pa, &pb, s, is_quiet);
4564 }
4565
4566 static FloatRelation QEMU_FLATTEN
@@ -4622,7 +4614,7 @@ bfloat16_do_compare(bfloat16 a, bfloat16 b, float_status *s, bool is_quiet)
4614
4615 bfloat16_unpack_canonical(&pa, a, s);
4616 bfloat16_unpack_canonical(&pb, b, s);
4625 - return parts_compare(&pa, &pb, s, is_quiet);
4617 + return parts64_compare(&pa, &pb, s, is_quiet);
4618 }
4619
4620 FloatRelation bfloat16_compare(bfloat16 a, bfloat16 b, float_status *s)
@@ -4642,7 +4634,7 @@ float128_do_compare(float128 a, float128 b, float_status *s, bool is_quiet)
4634
4635 float128_unpack_canonical(&pa, a, s);
4636 float128_unpack_canonical(&pb, b, s);
4645 - return parts_compare(&pa, &pb, s, is_quiet);
4637 + return parts128_compare(&pa, &pb, s, is_quiet);
4638 }
4639
4640 FloatRelation float128_compare(float128 a, float128 b, float_status *s)
@@ -4664,7 +4656,7 @@ floatx80_do_compare(floatx80 a, floatx80 b, float_status *s, bool is_quiet)
4656 !floatx80_unpack_canonical(&pb, b, s)) {
4657 return float_relation_unordered;
4658 }
4667 - return parts_compare(&pa, &pb, s, is_quiet);
4659 + return parts128_compare(&pa, &pb, s, is_quiet);
4660 }
4661
4662 FloatRelation floatx80_compare(floatx80 a, floatx80 b, float_status *s)
@@ -5518,7 +5510,7 @@ static void parts_s390_divide_to_integer(FloatParts64 *a, FloatParts64 *b,
5510 saved_r_precise_sign = r_precise->sign;
5511 r->sign = false;
5512 r_precise->sign = false;
5521 - if (parts_compare(r, r_precise, status, true) <
5513 + if (parts64_compare(r, r_precise, status, true) <
5514 float_relation_equal) {
5515 *dxc = 0x8;
5516 } else {