summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/softfloat/softfloat-specialize
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/softfloat/softfloat-specialize')
-rw-r--r--src/lib/softfloat/softfloat-specialize38
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