fpu: Remove use of int_fast16_t in conversions to int16

Make the functions which convert floating point to 16 bit integer
return int16_t rather than int_fast16_t, and correspondingly use
int_fast16_t in their internal implementations where appropriate.

(These functions are used only by the ARM target.)

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
Message-id: 1453807806-32698-2-git-send-email-peter.maydell@linaro.org
This commit is contained in:
Peter Maydell 2016-02-19 16:25:00 +00:00
parent d783f78933
commit 0bb721d721
2 changed files with 22 additions and 22 deletions

View File

@ -1616,7 +1616,7 @@ int32_t float32_to_int32_round_to_zero(float32 a, float_status *status)
| returned. | returned.
*----------------------------------------------------------------------------*/ *----------------------------------------------------------------------------*/
int_fast16_t float32_to_int16_round_to_zero(float32 a, float_status *status) int16_t float32_to_int16_round_to_zero(float32 a, float_status *status)
{ {
flag aSign; flag aSign;
int_fast16_t aExp, shiftCount; int_fast16_t aExp, shiftCount;
@ -3149,7 +3149,7 @@ int32_t float64_to_int32_round_to_zero(float64 a, float_status *status)
| returned. | returned.
*----------------------------------------------------------------------------*/ *----------------------------------------------------------------------------*/
int_fast16_t float64_to_int16_round_to_zero(float64 a, float_status *status) int16_t float64_to_int16_round_to_zero(float64 a, float_status *status)
{ {
flag aSign; flag aSign;
int_fast16_t aExp, shiftCount; int_fast16_t aExp, shiftCount;
@ -7117,10 +7117,10 @@ uint32_t float32_to_uint32_round_to_zero(float32 a, float_status *status)
return res; return res;
} }
int_fast16_t float32_to_int16(float32 a, float_status *status) int16_t float32_to_int16(float32 a, float_status *status)
{ {
int32_t v; int32_t v;
int_fast16_t res; int16_t res;
int old_exc_flags = get_float_exception_flags(status); int old_exc_flags = get_float_exception_flags(status);
v = float32_to_int32(a, status); v = float32_to_int32(a, status);
@ -7137,10 +7137,10 @@ int_fast16_t float32_to_int16(float32 a, float_status *status)
return res; return res;
} }
uint_fast16_t float32_to_uint16(float32 a, float_status *status) uint16_t float32_to_uint16(float32 a, float_status *status)
{ {
int32_t v; int32_t v;
uint_fast16_t res; uint16_t res;
int old_exc_flags = get_float_exception_flags(status); int old_exc_flags = get_float_exception_flags(status);
v = float32_to_int32(a, status); v = float32_to_int32(a, status);
@ -7157,10 +7157,10 @@ uint_fast16_t float32_to_uint16(float32 a, float_status *status)
return res; return res;
} }
uint_fast16_t float32_to_uint16_round_to_zero(float32 a, float_status *status) uint16_t float32_to_uint16_round_to_zero(float32 a, float_status *status)
{ {
int64_t v; int64_t v;
uint_fast16_t res; uint16_t res;
int old_exc_flags = get_float_exception_flags(status); int old_exc_flags = get_float_exception_flags(status);
v = float32_to_int64_round_to_zero(a, status); v = float32_to_int64_round_to_zero(a, status);
@ -7210,10 +7210,10 @@ uint32_t float64_to_uint32_round_to_zero(float64 a, float_status *status)
return res; return res;
} }
int_fast16_t float64_to_int16(float64 a, float_status *status) int16_t float64_to_int16(float64 a, float_status *status)
{ {
int64_t v; int64_t v;
int_fast16_t res; int16_t res;
int old_exc_flags = get_float_exception_flags(status); int old_exc_flags = get_float_exception_flags(status);
v = float64_to_int32(a, status); v = float64_to_int32(a, status);
@ -7230,10 +7230,10 @@ int_fast16_t float64_to_int16(float64 a, float_status *status)
return res; return res;
} }
uint_fast16_t float64_to_uint16(float64 a, float_status *status) uint16_t float64_to_uint16(float64 a, float_status *status)
{ {
int64_t v; int64_t v;
uint_fast16_t res; uint16_t res;
int old_exc_flags = get_float_exception_flags(status); int old_exc_flags = get_float_exception_flags(status);
v = float64_to_int32(a, status); v = float64_to_int32(a, status);
@ -7250,10 +7250,10 @@ uint_fast16_t float64_to_uint16(float64 a, float_status *status)
return res; return res;
} }
uint_fast16_t float64_to_uint16_round_to_zero(float64 a, float_status *status) uint16_t float64_to_uint16_round_to_zero(float64 a, float_status *status)
{ {
int64_t v; int64_t v;
uint_fast16_t res; uint16_t res;
int old_exc_flags = get_float_exception_flags(status); int old_exc_flags = get_float_exception_flags(status);
v = float64_to_int64_round_to_zero(a, status); v = float64_to_int64_round_to_zero(a, status);

View File

@ -362,10 +362,10 @@ extern const float16 float16_default_nan;
/*---------------------------------------------------------------------------- /*----------------------------------------------------------------------------
| Software IEC/IEEE single-precision conversion routines. | Software IEC/IEEE single-precision conversion routines.
*----------------------------------------------------------------------------*/ *----------------------------------------------------------------------------*/
int_fast16_t float32_to_int16(float32, float_status *status); int16_t float32_to_int16(float32, float_status *status);
uint_fast16_t float32_to_uint16(float32, float_status *status); uint16_t float32_to_uint16(float32, float_status *status);
int_fast16_t float32_to_int16_round_to_zero(float32, float_status *status); int16_t float32_to_int16_round_to_zero(float32, float_status *status);
uint_fast16_t float32_to_uint16_round_to_zero(float32, float_status *status); uint16_t float32_to_uint16_round_to_zero(float32, float_status *status);
int32_t float32_to_int32(float32, float_status *status); int32_t float32_to_int32(float32, float_status *status);
int32_t float32_to_int32_round_to_zero(float32, float_status *status); int32_t float32_to_int32_round_to_zero(float32, float_status *status);
uint32_t float32_to_uint32(float32, float_status *status); uint32_t float32_to_uint32(float32, float_status *status);
@ -474,10 +474,10 @@ extern const float32 float32_default_nan;
/*---------------------------------------------------------------------------- /*----------------------------------------------------------------------------
| Software IEC/IEEE double-precision conversion routines. | Software IEC/IEEE double-precision conversion routines.
*----------------------------------------------------------------------------*/ *----------------------------------------------------------------------------*/
int_fast16_t float64_to_int16(float64, float_status *status); int16_t float64_to_int16(float64, float_status *status);
uint_fast16_t float64_to_uint16(float64, float_status *status); uint16_t float64_to_uint16(float64, float_status *status);
int_fast16_t float64_to_int16_round_to_zero(float64, float_status *status); int16_t float64_to_int16_round_to_zero(float64, float_status *status);
uint_fast16_t float64_to_uint16_round_to_zero(float64, float_status *status); uint16_t float64_to_uint16_round_to_zero(float64, float_status *status);
int32_t float64_to_int32(float64, float_status *status); int32_t float64_to_int32(float64, float_status *status);
int32_t float64_to_int32_round_to_zero(float64, float_status *status); int32_t float64_to_int32_round_to_zero(float64, float_status *status);
uint32_t float64_to_uint32(float64, float_status *status); uint32_t float64_to_uint32(float64, float_status *status);