about summary refs log tree commit diff
path: root/soft-fp/extended.h
diff options
context:
space:
mode:
Diffstat (limited to 'soft-fp/extended.h')
-rw-r--r--soft-fp/extended.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/soft-fp/extended.h b/soft-fp/extended.h
index de53448341..7b19e835f7 100644
--- a/soft-fp/extended.h
+++ b/soft-fp/extended.h
@@ -104,6 +104,7 @@ union _FP_UNION_E
       X##_f[3] = 0;					\
       X##_f[0] = FP_UNPACK_RAW_E_flo.bits.frac0;	\
       X##_f[1] = FP_UNPACK_RAW_E_flo.bits.frac1;	\
+      X##_f[1] &= ~_FP_IMPLBIT_E;			\
       X##_e  = FP_UNPACK_RAW_E_flo.bits.exp;		\
       X##_s  = FP_UNPACK_RAW_E_flo.bits.sign;		\
     }							\
@@ -119,6 +120,7 @@ union _FP_UNION_E
       X##_f[3] = 0;					\
       X##_f[0] = FP_UNPACK_RAW_EP_flo->bits.frac0;	\
       X##_f[1] = FP_UNPACK_RAW_EP_flo->bits.frac1;	\
+      X##_f[1] &= ~_FP_IMPLBIT_E;			\
       X##_e  = FP_UNPACK_RAW_EP_flo->bits.exp;		\
       X##_s  = FP_UNPACK_RAW_EP_flo->bits.sign;		\
     }							\
@@ -332,6 +334,7 @@ union _FP_UNION_E
       FP_UNPACK_RAW_E_flo.flt = (val);		\
 						\
       X##_f0 = FP_UNPACK_RAW_E_flo.bits.frac;	\
+      X##_f0 &= ~_FP_IMPLBIT_E;			\
       X##_f1 = 0;				\
       X##_e = FP_UNPACK_RAW_E_flo.bits.exp;	\
       X##_s = FP_UNPACK_RAW_E_flo.bits.sign;	\
@@ -345,6 +348,7 @@ union _FP_UNION_E
 	= (union _FP_UNION_E *) (val);		\
 						\
       X##_f0 = FP_UNPACK_RAW_EP_flo->bits.frac;	\
+      X##_f0 &= ~_FP_IMPLBIT_E;			\
       X##_f1 = 0;				\
       X##_e = FP_UNPACK_RAW_EP_flo->bits.exp;	\
       X##_s = FP_UNPACK_RAW_EP_flo->bits.sign;	\