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)