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 {