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);