@samitouri / QOSamiQemu / commits / 0fbda5a138

fpu: Drop parts_mul

Use parts{64,128}_mul 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:43 UTC 0fbda5a13897b742522b51f7918598c3426335df
1 file changed +9 -17
fpu/softfloat.c
+9 -17
@@ -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_mul(FloatParts64 *a, FloatParts64 *b,
783 - float_status *s);
784 -static FloatParts128 *parts128_mul(FloatParts128 *a, FloatParts128 *b,
785 - float_status *s);
786 -
787 -#define parts_mul(A, B, S) \
788 - PARTS_GENERIC_64_128(mul, A)(A, B, S)
789 -
782 static FloatParts64 *parts64_muladd_scalbn(FloatParts64 *a, FloatParts64 *b,
783 FloatParts64 *c, int scale,
784 int flags, float_status *s);
@@ -2149,7 +2141,7 @@ float16 QEMU_FLATTEN float16_mul(float16 a, float16 b, float_status *status)
2141
2142 float16_unpack_canonical(&pa, a, status);
2143 float16_unpack_canonical(&pb, b, status);
2152 - pr = parts_mul(&pa, &pb, status);
2144 + pr = parts64_mul(&pa, &pb, status);
2145
2146 return float16_round_pack_canonical(pr, status);
2147 }
@@ -2161,7 +2153,7 @@ soft_f32_mul(float32 a, float32 b, float_status *status)
2153
2154 float32_unpack_canonical(&pa, a, status);
2155 float32_unpack_canonical(&pb, b, status);
2164 - pr = parts_mul(&pa, &pb, status);
2156 + pr = parts64_mul(&pa, &pb, status);
2157
2158 return float32_round_pack_canonical(pr, status);
2159 }
@@ -2173,7 +2165,7 @@ soft_f64_mul(float64 a, float64 b, float_status *status)
2165
2166 float64_unpack_canonical(&pa, a, status);
2167 float64_unpack_canonical(&pb, b, status);
2176 - pr = parts_mul(&pa, &pb, status);
2168 + pr = parts64_mul(&pa, &pb, status);
2169
2170 return float64_round_pack_canonical(pr, status);
2171 }
@@ -2208,7 +2200,7 @@ float64 float64r32_mul(float64 a, float64 b, float_status *status)
2200
2201 float64_unpack_canonical(&pa, a, status);
2202 float64_unpack_canonical(&pb, b, status);
2211 - pr = parts_mul(&pa, &pb, status);
2203 + pr = parts64_mul(&pa, &pb, status);
2204
2205 return float64r32_round_pack_canonical(pr, status);
2206 }
@@ -2220,7 +2212,7 @@ bfloat16_mul(bfloat16 a, bfloat16 b, float_status *status)
2212
2213 bfloat16_unpack_canonical(&pa, a, status);
2214 bfloat16_unpack_canonical(&pb, b, status);
2223 - pr = parts_mul(&pa, &pb, status);
2215 + pr = parts64_mul(&pa, &pb, status);
2216
2217 return bfloat16_round_pack_canonical(pr, status);
2218 }
@@ -2232,7 +2224,7 @@ float128_mul(float128 a, float128 b, float_status *status)
2224
2225 float128_unpack_canonical(&pa, a, status);
2226 float128_unpack_canonical(&pb, b, status);
2235 - pr = parts_mul(&pa, &pb, status);
2227 + pr = parts128_mul(&pa, &pb, status);
2228
2229 return float128_round_pack_canonical(pr, status);
2230 }
@@ -2247,7 +2239,7 @@ floatx80_mul(floatx80 a, floatx80 b, float_status *status)
2239 return floatx80_default_nan(status);
2240 }
2241
2250 - pr = parts_mul(&pa, &pb, status);
2242 + pr = parts128_mul(&pa, &pb, status);
2243 return floatx80_round_pack_canonical(pr, status);
2244 }
2245
@@ -5443,7 +5435,7 @@ float32 float32_exp2(float32 a, float_status *status)
5435 float_raise(float_flag_inexact, status);
5436
5437 float64_unpack_canonical(&tp, float64_ln2, status);
5446 - xp = *parts_mul(&xp, &tp, status);
5438 + xp = *parts64_mul(&xp, &tp, status);
5439 xnp = xp;
5440
5441 float64_unpack_canonical(&rp, float64_one, status);
@@ -5451,7 +5443,7 @@ float32 float32_exp2(float32 a, float_status *status)
5443
5444 float64_unpack_canonical(&tp, float32_exp2_coefficients[i], status);
5445 rp = *parts_muladd_scalbn(&tp, &xnp, &rp, 0, 0, status);
5454 - xnp = *parts_mul(&xnp, &xp, status);
5446 + xnp = *parts64_mul(&xnp, &xp, status);
5447 }
5448
5449 return float32_round_pack_canonical(&rp, status);