|
@@ -46,19 +46,17 @@ static inline int ieee754sp_finite(union ieee754sp x)
|
|
}
|
|
}
|
|
|
|
|
|
/* 3bit extended single precision sticky right shift */
|
|
/* 3bit extended single precision sticky right shift */
|
|
-#define SPXSRSXn(rs) \
|
|
|
|
- (xe += rs, \
|
|
|
|
- xm = (rs > (SP_FBITS+3))?1:((xm) >> (rs)) | ((xm) << (32-(rs)) != 0))
|
|
|
|
|
|
+#define XSPSRS(v, rs) \
|
|
|
|
+ ((rs > (SP_FBITS+3))?1:((v) >> (rs)) | ((v) << (32-(rs)) != 0))
|
|
|
|
|
|
-#define SPXSRSX1() \
|
|
|
|
- (xe++, (xm = (xm >> 1) | (xm & 1)))
|
|
|
|
|
|
+#define XSPSRS1(m) \
|
|
|
|
+ ((m >> 1) | (m & 1))
|
|
|
|
|
|
-#define SPXSRSYn(rs) \
|
|
|
|
- (ye+=rs, \
|
|
|
|
- ym = (rs > (SP_FBITS+3))?1:((ym) >> (rs)) | ((ym) << (32-(rs)) != 0))
|
|
|
|
|
|
+#define SPXSRSX1() \
|
|
|
|
+ (xe++, (xm = XSPSRS1(xm)))
|
|
|
|
|
|
#define SPXSRSY1() \
|
|
#define SPXSRSY1() \
|
|
- (ye++, (ym = (ym >> 1) | (ym & 1)))
|
|
|
|
|
|
+ (ye++, (ym = XSPSRS1(ym)))
|
|
|
|
|
|
/* convert denormal to normalized with extended exponent */
|
|
/* convert denormal to normalized with extended exponent */
|
|
#define SPDNORMx(m,e) \
|
|
#define SPDNORMx(m,e) \
|