@samitouri / QOSamiQemu / commits / 33f3402785

fpu: Drop parts_float_to_sint

Use parts{64,128}_float_to_sint at each call site. Note that there was a duplicate macro redefinition. 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:04 UTC 33f34027852075c2fd56d27f42aef92adf367f6d
1 file changed +18 -31
fpu/softfloat.c
+18 -31
@@ -779,16 +779,6 @@ static float128 QEMU_FLATTEN float128_pack_raw(const FloatParts128 *p)
779 FloatParts128 *: parts128_##NAME, \
780 FloatParts256 *: parts256_##NAME)
781
782 -static int64_t parts64_float_to_sint(FloatParts64 *p, FloatRoundMode rmode,
783 - int scale, int64_t min, int64_t max,
784 - float_status *s);
785 -static int64_t parts128_float_to_sint(FloatParts128 *p, FloatRoundMode rmode,
786 - int scale, int64_t min, int64_t max,
787 - float_status *s);
788 -
789 -#define parts_float_to_sint(P, R, Z, MN, MX, S) \
790 - PARTS_GENERIC_64_128(float_to_sint, P)(P, R, Z, MN, MX, S)
791 -
782 static uint64_t parts64_float_to_uint(FloatParts64 *p, FloatRoundMode rmode,
783 int scale, uint64_t max,
784 float_status *s);
@@ -814,9 +804,6 @@ static void parts64_sint_to_float(FloatParts64 *p, int64_t a,
804 static void parts128_sint_to_float(FloatParts128 *p, int64_t a,
805 int scale, float_status *s);
806
817 -#define parts_float_to_sint(P, R, Z, MN, MX, S) \
818 - PARTS_GENERIC_64_128(float_to_sint, P)(P, R, Z, MN, MX, S)
819 -
807 #define parts_sint_to_float(P, I, Z, S) \
808 PARTS_GENERIC_64_128(sint_to_float, P)(P, I, Z, S)
809
@@ -3181,7 +3168,7 @@ int8_t float16_to_int8_scalbn(float16 a, FloatRoundMode rmode, int scale,
3168 FloatParts64 p;
3169
3170 float16_unpack_canonical(&p, a, s);
3184 - return parts_float_to_sint(&p, rmode, scale, INT8_MIN, INT8_MAX, s);
3171 + return parts64_float_to_sint(&p, rmode, scale, INT8_MIN, INT8_MAX, s);
3172 }
3173
3174 int16_t float16_to_int16_scalbn(float16 a, FloatRoundMode rmode, int scale,
@@ -3190,7 +3177,7 @@ int16_t float16_to_int16_scalbn(float16 a, FloatRoundMode rmode, int scale,
3177 FloatParts64 p;
3178
3179 float16_unpack_canonical(&p, a, s);
3193 - return parts_float_to_sint(&p, rmode, scale, INT16_MIN, INT16_MAX, s);
3180 + return parts64_float_to_sint(&p, rmode, scale, INT16_MIN, INT16_MAX, s);
3181 }
3182
3183 int32_t float16_to_int32_scalbn(float16 a, FloatRoundMode rmode, int scale,
@@ -3199,7 +3186,7 @@ int32_t float16_to_int32_scalbn(float16 a, FloatRoundMode rmode, int scale,
3186 FloatParts64 p;
3187
3188 float16_unpack_canonical(&p, a, s);
3202 - return parts_float_to_sint(&p, rmode, scale, INT32_MIN, INT32_MAX, s);
3189 + return parts64_float_to_sint(&p, rmode, scale, INT32_MIN, INT32_MAX, s);
3190 }
3191
3192 int64_t float16_to_int64_scalbn(float16 a, FloatRoundMode rmode, int scale,
@@ -3208,7 +3195,7 @@ int64_t float16_to_int64_scalbn(float16 a, FloatRoundMode rmode, int scale,
3195 FloatParts64 p;
3196
3197 float16_unpack_canonical(&p, a, s);
3211 - return parts_float_to_sint(&p, rmode, scale, INT64_MIN, INT64_MAX, s);
3198 + return parts64_float_to_sint(&p, rmode, scale, INT64_MIN, INT64_MAX, s);
3199 }
3200
3201 int16_t float32_to_int16_scalbn(float32 a, FloatRoundMode rmode, int scale,
@@ -3217,7 +3204,7 @@ int16_t float32_to_int16_scalbn(float32 a, FloatRoundMode rmode, int scale,
3204 FloatParts64 p;
3205
3206 float32_unpack_canonical(&p, a, s);
3220 - return parts_float_to_sint(&p, rmode, scale, INT16_MIN, INT16_MAX, s);
3207 + return parts64_float_to_sint(&p, rmode, scale, INT16_MIN, INT16_MAX, s);
3208 }
3209
3210 int32_t float32_to_int32_scalbn(float32 a, FloatRoundMode rmode, int scale,
@@ -3226,7 +3213,7 @@ int32_t float32_to_int32_scalbn(float32 a, FloatRoundMode rmode, int scale,
3213 FloatParts64 p;
3214
3215 float32_unpack_canonical(&p, a, s);
3229 - return parts_float_to_sint(&p, rmode, scale, INT32_MIN, INT32_MAX, s);
3216 + return parts64_float_to_sint(&p, rmode, scale, INT32_MIN, INT32_MAX, s);
3217 }
3218
3219 int64_t float32_to_int64_scalbn(float32 a, FloatRoundMode rmode, int scale,
@@ -3235,7 +3222,7 @@ int64_t float32_to_int64_scalbn(float32 a, FloatRoundMode rmode, int scale,
3222 FloatParts64 p;
3223
3224 float32_unpack_canonical(&p, a, s);
3238 - return parts_float_to_sint(&p, rmode, scale, INT64_MIN, INT64_MAX, s);
3225 + return parts64_float_to_sint(&p, rmode, scale, INT64_MIN, INT64_MAX, s);
3226 }
3227
3228 int16_t float64_to_int16_scalbn(float64 a, FloatRoundMode rmode, int scale,
@@ -3244,7 +3231,7 @@ int16_t float64_to_int16_scalbn(float64 a, FloatRoundMode rmode, int scale,
3231 FloatParts64 p;
3232
3233 float64_unpack_canonical(&p, a, s);
3247 - return parts_float_to_sint(&p, rmode, scale, INT16_MIN, INT16_MAX, s);
3234 + return parts64_float_to_sint(&p, rmode, scale, INT16_MIN, INT16_MAX, s);
3235 }
3236
3237 int32_t float64_to_int32_scalbn(float64 a, FloatRoundMode rmode, int scale,
@@ -3253,7 +3240,7 @@ int32_t float64_to_int32_scalbn(float64 a, FloatRoundMode rmode, int scale,
3240 FloatParts64 p;
3241
3242 float64_unpack_canonical(&p, a, s);
3256 - return parts_float_to_sint(&p, rmode, scale, INT32_MIN, INT32_MAX, s);
3243 + return parts64_float_to_sint(&p, rmode, scale, INT32_MIN, INT32_MAX, s);
3244 }
3245
3246 int64_t float64_to_int64_scalbn(float64 a, FloatRoundMode rmode, int scale,
@@ -3262,7 +3249,7 @@ int64_t float64_to_int64_scalbn(float64 a, FloatRoundMode rmode, int scale,
3249 FloatParts64 p;
3250
3251 float64_unpack_canonical(&p, a, s);
3265 - return parts_float_to_sint(&p, rmode, scale, INT64_MIN, INT64_MAX, s);
3252 + return parts64_float_to_sint(&p, rmode, scale, INT64_MIN, INT64_MAX, s);
3253 }
3254
3255 int8_t bfloat16_to_int8_scalbn(bfloat16 a, FloatRoundMode rmode, int scale,
@@ -3271,7 +3258,7 @@ int8_t bfloat16_to_int8_scalbn(bfloat16 a, FloatRoundMode rmode, int scale,
3258 FloatParts64 p;
3259
3260 bfloat16_unpack_canonical(&p, a, s);
3274 - return parts_float_to_sint(&p, rmode, scale, INT8_MIN, INT8_MAX, s);
3261 + return parts64_float_to_sint(&p, rmode, scale, INT8_MIN, INT8_MAX, s);
3262 }
3263
3264 int16_t bfloat16_to_int16_scalbn(bfloat16 a, FloatRoundMode rmode, int scale,
@@ -3280,7 +3267,7 @@ int16_t bfloat16_to_int16_scalbn(bfloat16 a, FloatRoundMode rmode, int scale,
3267 FloatParts64 p;
3268
3269 bfloat16_unpack_canonical(&p, a, s);
3283 - return parts_float_to_sint(&p, rmode, scale, INT16_MIN, INT16_MAX, s);
3270 + return parts64_float_to_sint(&p, rmode, scale, INT16_MIN, INT16_MAX, s);
3271 }
3272
3273 int32_t bfloat16_to_int32_scalbn(bfloat16 a, FloatRoundMode rmode, int scale,
@@ -3289,7 +3276,7 @@ int32_t bfloat16_to_int32_scalbn(bfloat16 a, FloatRoundMode rmode, int scale,
3276 FloatParts64 p;
3277
3278 bfloat16_unpack_canonical(&p, a, s);
3292 - return parts_float_to_sint(&p, rmode, scale, INT32_MIN, INT32_MAX, s);
3279 + return parts64_float_to_sint(&p, rmode, scale, INT32_MIN, INT32_MAX, s);
3280 }
3281
3282 int64_t bfloat16_to_int64_scalbn(bfloat16 a, FloatRoundMode rmode, int scale,
@@ -3298,7 +3285,7 @@ int64_t bfloat16_to_int64_scalbn(bfloat16 a, FloatRoundMode rmode, int scale,
3285 FloatParts64 p;
3286
3287 bfloat16_unpack_canonical(&p, a, s);
3301 - return parts_float_to_sint(&p, rmode, scale, INT64_MIN, INT64_MAX, s);
3288 + return parts64_float_to_sint(&p, rmode, scale, INT64_MIN, INT64_MAX, s);
3289 }
3290
3291 static int32_t float128_to_int32_scalbn(float128 a, FloatRoundMode rmode,
@@ -3307,7 +3294,7 @@ static int32_t float128_to_int32_scalbn(float128 a, FloatRoundMode rmode,
3294 FloatParts128 p;
3295
3296 float128_unpack_canonical(&p, a, s);
3310 - return parts_float_to_sint(&p, rmode, scale, INT32_MIN, INT32_MAX, s);
3297 + return parts128_float_to_sint(&p, rmode, scale, INT32_MIN, INT32_MAX, s);
3298 }
3299
3300 static int64_t float128_to_int64_scalbn(float128 a, FloatRoundMode rmode,
@@ -3316,7 +3303,7 @@ static int64_t float128_to_int64_scalbn(float128 a, FloatRoundMode rmode,
3303 FloatParts128 p;
3304
3305 float128_unpack_canonical(&p, a, s);
3319 - return parts_float_to_sint(&p, rmode, scale, INT64_MIN, INT64_MAX, s);
3306 + return parts128_float_to_sint(&p, rmode, scale, INT64_MIN, INT64_MAX, s);
3307 }
3308
3309 static Int128 float128_to_int128_scalbn(float128 a, FloatRoundMode rmode,
@@ -3382,7 +3369,7 @@ static int32_t floatx80_to_int32_scalbn(floatx80 a, FloatRoundMode rmode,
3369 if (!floatx80_unpack_canonical(&p, a, s)) {
3370 parts128_default_nan(&p, s);
3371 }
3385 - return parts_float_to_sint(&p, rmode, scale, INT32_MIN, INT32_MAX, s);
3372 + return parts128_float_to_sint(&p, rmode, scale, INT32_MIN, INT32_MAX, s);
3373 }
3374
3375 static int64_t floatx80_to_int64_scalbn(floatx80 a, FloatRoundMode rmode,
@@ -3393,7 +3380,7 @@ static int64_t floatx80_to_int64_scalbn(floatx80 a, FloatRoundMode rmode,
3380 if (!floatx80_unpack_canonical(&p, a, s)) {
3381 parts128_default_nan(&p, s);
3382 }
3396 - return parts_float_to_sint(&p, rmode, scale, INT64_MIN, INT64_MAX, s);
3383 + return parts128_float_to_sint(&p, rmode, scale, INT64_MIN, INT64_MAX, s);
3384 }
3385
3386 int8_t float16_to_int8(float16 a, float_status *s)