Use parts{64,128}_float_to_sint at each call site.
Note that there was a duplicate macro redefinition.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
fpu/softfloat.c | 49 ++++++++++++++++++-------------------------------
1 file changed, 18 insertions(+), 31 deletions(-)
diff --git a/fpu/softfloat.c b/fpu/softfloat.c
index e2341871bd..42ef537e12 100644
--- a/fpu/softfloat.c
+++ b/fpu/softfloat.c
@@ -779,16 +779,6 @@ static float128 QEMU_FLATTEN float128_pack_raw(const FloatParts128 *p)
FloatParts128 *: parts128_##NAME, \
FloatParts256 *: parts256_##NAME)
-static int64_t parts64_float_to_sint(FloatParts64 *p, FloatRoundMode rmode,
- int scale, int64_t min, int64_t max,
- float_status *s);
-static int64_t parts128_float_to_sint(FloatParts128 *p, FloatRoundMode rmode,
- int scale, int64_t min, int64_t max,
- float_status *s);
-
-#define parts_float_to_sint(P, R, Z, MN, MX, S) \
- PARTS_GENERIC_64_128(float_to_sint, P)(P, R, Z, MN, MX, S)
-
static uint64_t parts64_float_to_uint(FloatParts64 *p, FloatRoundMode rmode,
int scale, uint64_t max,
float_status *s);
@@ -814,9 +804,6 @@ static void parts64_sint_to_float(FloatParts64 *p, int64_t a,
static void parts128_sint_to_float(FloatParts128 *p, int64_t a,
int scale, float_status *s);
-#define parts_float_to_sint(P, R, Z, MN, MX, S) \
- PARTS_GENERIC_64_128(float_to_sint, P)(P, R, Z, MN, MX, S)
-
#define parts_sint_to_float(P, I, Z, S) \
PARTS_GENERIC_64_128(sint_to_float, P)(P, I, Z, S)
@@ -3181,7 +3168,7 @@ int8_t float16_to_int8_scalbn(float16 a, FloatRoundMode rmode, int scale,
FloatParts64 p;
float16_unpack_canonical(&p, a, s);
- return parts_float_to_sint(&p, rmode, scale, INT8_MIN, INT8_MAX, s);
+ return parts64_float_to_sint(&p, rmode, scale, INT8_MIN, INT8_MAX, s);
}
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,
FloatParts64 p;
float16_unpack_canonical(&p, a, s);
- return parts_float_to_sint(&p, rmode, scale, INT16_MIN, INT16_MAX, s);
+ return parts64_float_to_sint(&p, rmode, scale, INT16_MIN, INT16_MAX, s);
}
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,
FloatParts64 p;
float16_unpack_canonical(&p, a, s);
- return parts_float_to_sint(&p, rmode, scale, INT32_MIN, INT32_MAX, s);
+ return parts64_float_to_sint(&p, rmode, scale, INT32_MIN, INT32_MAX, s);
}
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,
FloatParts64 p;
float16_unpack_canonical(&p, a, s);
- return parts_float_to_sint(&p, rmode, scale, INT64_MIN, INT64_MAX, s);
+ return parts64_float_to_sint(&p, rmode, scale, INT64_MIN, INT64_MAX, s);
}
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,
FloatParts64 p;
float32_unpack_canonical(&p, a, s);
- return parts_float_to_sint(&p, rmode, scale, INT16_MIN, INT16_MAX, s);
+ return parts64_float_to_sint(&p, rmode, scale, INT16_MIN, INT16_MAX, s);
}
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,
FloatParts64 p;
float32_unpack_canonical(&p, a, s);
- return parts_float_to_sint(&p, rmode, scale, INT32_MIN, INT32_MAX, s);
+ return parts64_float_to_sint(&p, rmode, scale, INT32_MIN, INT32_MAX, s);
}
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,
FloatParts64 p;
float32_unpack_canonical(&p, a, s);
- return parts_float_to_sint(&p, rmode, scale, INT64_MIN, INT64_MAX, s);
+ return parts64_float_to_sint(&p, rmode, scale, INT64_MIN, INT64_MAX, s);
}
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,
FloatParts64 p;
float64_unpack_canonical(&p, a, s);
- return parts_float_to_sint(&p, rmode, scale, INT16_MIN, INT16_MAX, s);
+ return parts64_float_to_sint(&p, rmode, scale, INT16_MIN, INT16_MAX, s);
}
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,
FloatParts64 p;
float64_unpack_canonical(&p, a, s);
- return parts_float_to_sint(&p, rmode, scale, INT32_MIN, INT32_MAX, s);
+ return parts64_float_to_sint(&p, rmode, scale, INT32_MIN, INT32_MAX, s);
}
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,
FloatParts64 p;
float64_unpack_canonical(&p, a, s);
- return parts_float_to_sint(&p, rmode, scale, INT64_MIN, INT64_MAX, s);
+ return parts64_float_to_sint(&p, rmode, scale, INT64_MIN, INT64_MAX, s);
}
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,
FloatParts64 p;
bfloat16_unpack_canonical(&p, a, s);
- return parts_float_to_sint(&p, rmode, scale, INT8_MIN, INT8_MAX, s);
+ return parts64_float_to_sint(&p, rmode, scale, INT8_MIN, INT8_MAX, s);
}
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,
FloatParts64 p;
bfloat16_unpack_canonical(&p, a, s);
- return parts_float_to_sint(&p, rmode, scale, INT16_MIN, INT16_MAX, s);
+ return parts64_float_to_sint(&p, rmode, scale, INT16_MIN, INT16_MAX, s);
}
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,
FloatParts64 p;
bfloat16_unpack_canonical(&p, a, s);
- return parts_float_to_sint(&p, rmode, scale, INT32_MIN, INT32_MAX, s);
+ return parts64_float_to_sint(&p, rmode, scale, INT32_MIN, INT32_MAX, s);
}
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,
FloatParts64 p;
bfloat16_unpack_canonical(&p, a, s);
- return parts_float_to_sint(&p, rmode, scale, INT64_MIN, INT64_MAX, s);
+ return parts64_float_to_sint(&p, rmode, scale, INT64_MIN, INT64_MAX, s);
}
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,
FloatParts128 p;
float128_unpack_canonical(&p, a, s);
- return parts_float_to_sint(&p, rmode, scale, INT32_MIN, INT32_MAX, s);
+ return parts128_float_to_sint(&p, rmode, scale, INT32_MIN, INT32_MAX, s);
}
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,
FloatParts128 p;
float128_unpack_canonical(&p, a, s);
- return parts_float_to_sint(&p, rmode, scale, INT64_MIN, INT64_MAX, s);
+ return parts128_float_to_sint(&p, rmode, scale, INT64_MIN, INT64_MAX, s);
}
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,
if (!floatx80_unpack_canonical(&p, a, s)) {
parts128_default_nan(&p, s);
}
- return parts_float_to_sint(&p, rmode, scale, INT32_MIN, INT32_MAX, s);
+ return parts128_float_to_sint(&p, rmode, scale, INT32_MIN, INT32_MAX, s);
}
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,
if (!floatx80_unpack_canonical(&p, a, s)) {
parts128_default_nan(&p, s);
}
- return parts_float_to_sint(&p, rmode, scale, INT64_MIN, INT64_MAX, s);
+ return parts128_float_to_sint(&p, rmode, scale, INT64_MIN, INT64_MAX, s);
}
int8_t float16_to_int8(float16 a, float_status *s)
--
2.43.0