[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 3/6] fpu: Use plain 'int' rather than 'int_fast16_t'
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PULL 3/6] fpu: Use plain 'int' rather than 'int_fast16_t' for shift counts |
Date: |
Fri, 19 Feb 2016 16:36:52 +0000 |
Use the plain 'int' type rather than 'int_fast16_t' for shift counts
in the various shift related functions, since we don't actually care
about the size of the integer at all here, and using int16_t would
be confusing.
This should be a safe change because int_fast16_t semantics
permit use of 'int' (and on 32-bit glibc that is what you get).
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Aurelien Jarno <address@hidden>
Message-id: address@hidden
---
fpu/softfloat-macros.h | 16 ++++++++--------
fpu/softfloat.c | 36 ++++++++++++++++++++++++------------
2 files changed, 32 insertions(+), 20 deletions(-)
diff --git a/fpu/softfloat-macros.h b/fpu/softfloat-macros.h
index e95b445..51947ef 100644
--- a/fpu/softfloat-macros.h
+++ b/fpu/softfloat-macros.h
@@ -99,7 +99,7 @@ this code that are retained.
| The result is stored in the location pointed to by `zPtr'.
*----------------------------------------------------------------------------*/
-static inline void shift32RightJamming(uint32_t a, int_fast16_t count,
uint32_t *zPtr)
+static inline void shift32RightJamming(uint32_t a, int count, uint32_t *zPtr)
{
uint32_t z;
@@ -125,7 +125,7 @@ static inline void shift32RightJamming(uint32_t a,
int_fast16_t count, uint32_t
| The result is stored in the location pointed to by `zPtr'.
*----------------------------------------------------------------------------*/
-static inline void shift64RightJamming(uint64_t a, int_fast16_t count,
uint64_t *zPtr)
+static inline void shift64RightJamming(uint64_t a, int count, uint64_t *zPtr)
{
uint64_t z;
@@ -161,7 +161,7 @@ static inline void shift64RightJamming(uint64_t a,
int_fast16_t count, uint64_t
static inline void
shift64ExtraRightJamming(
- uint64_t a0, uint64_t a1, int_fast16_t count, uint64_t *z0Ptr, uint64_t
*z1Ptr)
+ uint64_t a0, uint64_t a1, int count, uint64_t *z0Ptr, uint64_t *z1Ptr)
{
uint64_t z0, z1;
int8_t negCount = ( - count ) & 63;
@@ -198,7 +198,7 @@ static inline void
static inline void
shift128Right(
- uint64_t a0, uint64_t a1, int_fast16_t count, uint64_t *z0Ptr, uint64_t
*z1Ptr)
+ uint64_t a0, uint64_t a1, int count, uint64_t *z0Ptr, uint64_t *z1Ptr)
{
uint64_t z0, z1;
int8_t negCount = ( - count ) & 63;
@@ -233,7 +233,7 @@ static inline void
static inline void
shift128RightJamming(
- uint64_t a0, uint64_t a1, int_fast16_t count, uint64_t *z0Ptr, uint64_t
*z1Ptr)
+ uint64_t a0, uint64_t a1, int count, uint64_t *z0Ptr, uint64_t *z1Ptr)
{
uint64_t z0, z1;
int8_t negCount = ( - count ) & 63;
@@ -287,7 +287,7 @@ static inline void
uint64_t a0,
uint64_t a1,
uint64_t a2,
- int_fast16_t count,
+ int count,
uint64_t *z0Ptr,
uint64_t *z1Ptr,
uint64_t *z2Ptr
@@ -342,7 +342,7 @@ static inline void
static inline void
shortShift128Left(
- uint64_t a0, uint64_t a1, int_fast16_t count, uint64_t *z0Ptr, uint64_t
*z1Ptr)
+ uint64_t a0, uint64_t a1, int count, uint64_t *z0Ptr, uint64_t *z1Ptr)
{
*z1Ptr = a1<<count;
@@ -364,7 +364,7 @@ static inline void
uint64_t a0,
uint64_t a1,
uint64_t a2,
- int_fast16_t count,
+ int count,
uint64_t *z0Ptr,
uint64_t *z1Ptr,
uint64_t *z2Ptr
diff --git a/fpu/softfloat.c b/fpu/softfloat.c
index f1fce53..74124f9 100644
--- a/fpu/softfloat.c
+++ b/fpu/softfloat.c
@@ -1543,7 +1543,8 @@ float128 uint64_to_float128(uint64_t a, float_status
*status)
int32_t float32_to_int32(float32 a, float_status *status)
{
flag aSign;
- int_fast16_t aExp, shiftCount;
+ int_fast16_t aExp;
+ int shiftCount;
uint32_t aSig;
uint64_t aSig64;
@@ -1574,7 +1575,8 @@ int32_t float32_to_int32(float32 a, float_status *status)
int32_t float32_to_int32_round_to_zero(float32 a, float_status *status)
{
flag aSign;
- int_fast16_t aExp, shiftCount;
+ int_fast16_t aExp;
+ int shiftCount;
uint32_t aSig;
int32_t z;
a = float32_squash_input_denormal(a, status);
@@ -1619,7 +1621,8 @@ int32_t float32_to_int32_round_to_zero(float32 a,
float_status *status)
int16_t float32_to_int16_round_to_zero(float32 a, float_status *status)
{
flag aSign;
- int_fast16_t aExp, shiftCount;
+ int_fast16_t aExp;
+ int shiftCount;
uint32_t aSig;
int32_t z;
@@ -1668,7 +1671,8 @@ int16_t float32_to_int16_round_to_zero(float32 a,
float_status *status)
int64_t float32_to_int64(float32 a, float_status *status)
{
flag aSign;
- int_fast16_t aExp, shiftCount;
+ int_fast16_t aExp;
+ int shiftCount;
uint32_t aSig;
uint64_t aSig64, aSigExtra;
a = float32_squash_input_denormal(a, status);
@@ -1707,7 +1711,8 @@ int64_t float32_to_int64(float32 a, float_status *status)
uint64_t float32_to_uint64(float32 a, float_status *status)
{
flag aSign;
- int_fast16_t aExp, shiftCount;
+ int_fast16_t aExp;
+ int shiftCount;
uint32_t aSig;
uint64_t aSig64, aSigExtra;
a = float32_squash_input_denormal(a, status);
@@ -1771,7 +1776,8 @@ uint64_t float32_to_uint64_round_to_zero(float32 a,
float_status *status)
int64_t float32_to_int64_round_to_zero(float32 a, float_status *status)
{
flag aSign;
- int_fast16_t aExp, shiftCount;
+ int_fast16_t aExp;
+ int shiftCount;
uint32_t aSig;
uint64_t aSig64;
int64_t z;
@@ -3075,7 +3081,8 @@ int float32_unordered_quiet(float32 a, float32 b,
float_status *status)
int32_t float64_to_int32(float64 a, float_status *status)
{
flag aSign;
- int_fast16_t aExp, shiftCount;
+ int_fast16_t aExp;
+ int shiftCount;
uint64_t aSig;
a = float64_squash_input_denormal(a, status);
@@ -3103,7 +3110,8 @@ int32_t float64_to_int32(float64 a, float_status *status)
int32_t float64_to_int32_round_to_zero(float64 a, float_status *status)
{
flag aSign;
- int_fast16_t aExp, shiftCount;
+ int_fast16_t aExp;
+ int shiftCount;
uint64_t aSig, savedASig;
int32_t z;
a = float64_squash_input_denormal(a, status);
@@ -3152,7 +3160,8 @@ int32_t float64_to_int32_round_to_zero(float64 a,
float_status *status)
int16_t float64_to_int16_round_to_zero(float64 a, float_status *status)
{
flag aSign;
- int_fast16_t aExp, shiftCount;
+ int_fast16_t aExp;
+ int shiftCount;
uint64_t aSig, savedASig;
int32_t z;
@@ -3203,7 +3212,8 @@ int16_t float64_to_int16_round_to_zero(float64 a,
float_status *status)
int64_t float64_to_int64(float64 a, float_status *status)
{
flag aSign;
- int_fast16_t aExp, shiftCount;
+ int_fast16_t aExp;
+ int shiftCount;
uint64_t aSig, aSigExtra;
a = float64_squash_input_denormal(a, status);
@@ -3246,7 +3256,8 @@ int64_t float64_to_int64(float64 a, float_status *status)
int64_t float64_to_int64_round_to_zero(float64 a, float_status *status)
{
flag aSign;
- int_fast16_t aExp, shiftCount;
+ int_fast16_t aExp;
+ int shiftCount;
uint64_t aSig;
int64_t z;
a = float64_squash_input_denormal(a, status);
@@ -7284,7 +7295,8 @@ uint16_t float64_to_uint16_round_to_zero(float64 a,
float_status *status)
uint64_t float64_to_uint64(float64 a, float_status *status)
{
flag aSign;
- int_fast16_t aExp, shiftCount;
+ int_fast16_t aExp;
+ int shiftCount;
uint64_t aSig, aSigExtra;
a = float64_squash_input_denormal(a, status);
--
1.9.1
- [Qemu-devel] [PULL 0/6] softfloat queue, Peter Maydell, 2016/02/19
- [Qemu-devel] [PULL 1/6] target-mips: Stop using uint_fast*_t types in r4k_tlb_t struct, Peter Maydell, 2016/02/19
- [Qemu-devel] [PULL 3/6] fpu: Use plain 'int' rather than 'int_fast16_t' for shift counts,
Peter Maydell <=
- [Qemu-devel] [PULL 2/6] fpu: Remove use of int_fast16_t in conversions to int16, Peter Maydell, 2016/02/19
- [Qemu-devel] [PULL 6/6] MAINTAINERS: Add section for FPU emulation, Peter Maydell, 2016/02/19
- [Qemu-devel] [PULL 5/6] osdep.h: Remove int_fast*_t Solaris compatibility code, Peter Maydell, 2016/02/19
- [Qemu-devel] [PULL 4/6] fpu: Use plain 'int' rather than 'int_fast16_t' for exponents, Peter Maydell, 2016/02/19
- Re: [Qemu-devel] [PULL 0/6] softfloat queue, Peter Maydell, 2016/02/19