2016-08-16 Joseph Myers <joseph@codesourcery.com>
+ * soft-fp/extended.h [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_RAW_E):
+ Mask implicit bit out of unpacked value.
+ [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_RAW_EP): Likewise.
+ [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_RAW_E): Likewise.
+ [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_RAW_EP): Likewise.
+
* sysdeps/sparc/fpu/fesetexcept.c: New file.
* sysdeps/sh/sh4/fpu/fesetexcept.c: New file.
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; \
} \
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; \
} \
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; \
= (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; \