diff options
author | Andrew Waterman <waterman@cs.berkeley.edu> | 2016-01-29 17:54:20 -0800 |
---|---|---|
committer | Andrew Waterman <waterman@cs.berkeley.edu> | 2016-01-29 17:54:20 -0800 |
commit | 853391c2bb814451ad88b8dbff2aec8616fc6a12 (patch) | |
tree | 0fdcc3cd955dcae587b61609ac50a103b112d1ac /softfloat | |
parent | 0873901c7c66d074f5178bd95a7298e1b5cac77a (diff) | |
download | spike-853391c2bb814451ad88b8dbff2aec8616fc6a12.zip spike-853391c2bb814451ad88b8dbff2aec8616fc6a12.tar.gz spike-853391c2bb814451ad88b8dbff2aec8616fc6a12.tar.bz2 |
Fix NaN propagation for fcvt
Diffstat (limited to 'softfloat')
-rwxr-xr-x | softfloat/s_commonNaNToF32UI.c | 2 | ||||
-rwxr-xr-x | softfloat/s_commonNaNToF64UI.c | 3 | ||||
-rwxr-xr-x | softfloat/specialize.h | 2 |
3 files changed, 3 insertions, 4 deletions
diff --git a/softfloat/s_commonNaNToF32UI.c b/softfloat/s_commonNaNToF32UI.c index 61f2735..e16950c 100755 --- a/softfloat/s_commonNaNToF32UI.c +++ b/softfloat/s_commonNaNToF32UI.c @@ -11,7 +11,7 @@ uint_fast32_t softfloat_commonNaNToF32UI( struct commonNaN a )
{
- return (uint_fast32_t) a.sign<<31 | 0x7FFFFFFF;
+ return defaultNaNF32UI;
}
diff --git a/softfloat/s_commonNaNToF64UI.c b/softfloat/s_commonNaNToF64UI.c index da36c04..0555e1f 100755 --- a/softfloat/s_commonNaNToF64UI.c +++ b/softfloat/s_commonNaNToF64UI.c @@ -11,8 +11,7 @@ uint_fast64_t softfloat_commonNaNToF64UI( struct commonNaN a ) { - return - (uint_fast64_t) a.sign<<63 | UINT64_C( 0x7FFFFFFFFFFFFFFF ); + return defaultNaNF64UI; } diff --git a/softfloat/specialize.h b/softfloat/specialize.h index 72a9f16..4b0138a 100755 --- a/softfloat/specialize.h +++ b/softfloat/specialize.h @@ -68,7 +68,7 @@ bool softfloat_isSigNaNF32UI( uint_fast32_t ); struct commonNaN softfloat_f32UIToCommonNaN( uint_fast32_t );
#if defined INLINE_LEVEL && ( 1 <= INLINE_LEVEL )
INLINE uint_fast32_t softfloat_commonNaNToF32UI( struct commonNaN a )
- { return (uint_fast32_t) a.sign<<31 | 0x7FFFFFFF; }
+ { return defaultNaNF32UI; }
#else
uint_fast32_t softfloat_commonNaNToF32UI( struct commonNaN );
#endif
|