diff options
Diffstat (limited to 'src/lib/softfloat/softfloat-specialize')
| -rw-r--r-- | src/lib/softfloat/softfloat-specialize | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/lib/softfloat/softfloat-specialize b/src/lib/softfloat/softfloat-specialize index 7091af35264..9993f3fd2b3 100644 --- a/src/lib/softfloat/softfloat-specialize +++ b/src/lib/softfloat/softfloat-specialize @@ -331,6 +331,44 @@ static floatx80 propagateFloatx80NaN( floatx80 a, floatx80 b ) } +#define EXP_BIAS 0x3FFF + +/*---------------------------------------------------------------------------- +| Returns the fraction bits of the extended double-precision floating-point +| value `a'. +*----------------------------------------------------------------------------*/ + +INLINE bits64 extractFloatx80Frac( floatx80 a ) +{ + + return a.low; + +} + +/*---------------------------------------------------------------------------- +| Returns the exponent bits of the extended double-precision floating-point +| value `a'. +*----------------------------------------------------------------------------*/ + +INLINE int32 extractFloatx80Exp( floatx80 a ) +{ + + return a.high & 0x7FFF; + +} + +/*---------------------------------------------------------------------------- +| Returns the sign bit of the extended double-precision floating-point value +| `a'. +*----------------------------------------------------------------------------*/ + +INLINE flag extractFloatx80Sign( floatx80 a ) +{ + + return a.high>>15; + +} + #endif #ifdef FLOAT128 |
