aboutsummaryrefslogtreecommitdiff
path: root/soft-fp/extended.h
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-10-09 17:05:26 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-10-09 17:05:26 +0000
commit5c0508a318af0a6c8be2a4cb2e3b76896218bf35 (patch)
treebb4d0c9b22bad8ba022828c8a36dfeb69f511244 /soft-fp/extended.h
parenta736ec370a05e4b37e6101eb3168bf8dc4c5af13 (diff)
downloadglibc-5c0508a318af0a6c8be2a4cb2e3b76896218bf35.zip
glibc-5c0508a318af0a6c8be2a4cb2e3b76896218bf35.tar.gz
glibc-5c0508a318af0a6c8be2a4cb2e3b76896218bf35.tar.bz2
soft-fp: Use parentheses around macro arguments.
This patch cleans up the soft-fp code to use parentheses around macro arguments (where possible; many macro arguments are identifiers used with ## rather than arbitrary expressions, so cannot be put in parentheses). (I'm not aware of any bugs caused by the lack of parentheses, but this is generally good practice. The patch is not exhaustive regarding internal macros where the arguments always come directly from the mantissa of a floating-point number, although probably those should be cleaned up in this regard as well.) Tested for powerpc-nofpu that the installed shared libraries are unchanged by this patch. * soft-fp/double.h [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_RAW_D): Use parentheses around macro arguments. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_RAW_DP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_RAW_D): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_RAW_DP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_D): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_DP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_SEMIRAW_D): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_SEMIRAW_DP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_D): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_DP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_SEMIRAW_D): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_SEMIRAW_DP): Likewise. [_FP_W_TYPE_SIZE < 64] (_FP_SQRT_MEAT_D): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_CMP_D): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_CMP_EQ_D): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_CMP_UNORD_D): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_TO_INT_D): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_FROM_INT_D): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_RAW_D): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_RAW_DP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_RAW_D): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_RAW_DP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_D): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_DP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_SEMIRAW_D): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_SEMIRAW_DP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_D): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_DP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_SEMIRAW_D): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_SEMIRAW_DP): Likewise. [_FP_W_TYPE_SIZE >= 64] (_FP_SQRT_MEAT_D): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_CMP_D): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_CMP_EQ_D): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_CMP_UNORD_D): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_TO_INT_D): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_FROM_INT_D): Likewise. * soft-fp/extended.h [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_E): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_EP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_SEMIRAW_E): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_SEMIRAW_EP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_E): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_EP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_SEMIRAW_E): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_SEMIRAW_EP): Likewise. [_FP_W_TYPE_SIZE < 64] (_FP_SQRT_MEAT_E): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_CMP_E): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_CMP_EQ_E): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_CMP_UNORD_E): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_TO_INT_E): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_FROM_INT_E): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_E): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_EP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_SEMIRAW_E): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_SEMIRAW_EP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_E): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_EP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_SEMIRAW_E): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_SEMIRAW_EP): Likewise. [_FP_W_TYPE_SIZE >= 64] (_FP_SQRT_MEAT_E): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_CMP_E): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_CMP_EQ_E): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_CMP_UNORD_E): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_TO_INT_E): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_FROM_INT_E): Likewise. * soft-fp/op-1.h (_FP_FRAC_SRST_1): Likewise. (_FP_FRAC_SRS_1): Likewise. (_FP_FRAC_CLZ_1): Likewise. (_FP_MUL_MEAT_1_imm): Likewise. (_FP_MUL_MEAT_1_wide): Likewise. (_FP_MUL_MEAT_1_hard): Likewise. (_FP_SQRT_MEAT_1): Likewise. (_FP_FRAC_ASSEMBLE_1): Likewise. (_FP_FRAC_DISASSEMBLE_1): Likewise. * soft-fp/op-2.h (_FP_FRAC_CLZ_2): Likewise. (__FP_CLZ_2): Likewise. (_FP_MUL_MEAT_2_wide): Likewise. (_FP_MUL_MEAT_2_wide_3mul): Likewise. (_FP_MUL_MEAT_2_gmp): Likewise. (_FP_MUL_MEAT_2_120_240_double): Likewise. (_FP_SQRT_MEAT_2): Likewise. (_FP_FRAC_ASSEMBLE_2): Likewise. (_FP_FRAC_DISASSEMBLE_2): Likewise. * soft-fp/op-4.h (_FP_FRAC_SRS_4): Likewise. (_FP_FRAC_CLZ_4): Likewise. (_FP_MUL_MEAT_4_wide): Likewise. (_FP_MUL_MEAT_4_gmp): Likewise. (_FP_SQRT_MEAT_4): Likewise. (_FP_FRAC_ASSEMBLE_4): Likewise. (_FP_FRAC_DISASSEMBLE_4): Likewise. * soft-fp/op-common.h (_FP_CMP): Likewise. (_FP_CMP_EQ): Likewise. (_FP_CMP_UNORD): Likewise. (_FP_TO_INT): Likewise. (_FP_FROM_INT): Likewise. [!__FP_CLZ] (__FP_CLZ): Likewise. (_FP_DIV_HELP_imm): Likewise. * soft-fp/quad.h [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_RAW_Q): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_RAW_QP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_RAW_Q): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_RAW_QP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_Q): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_QP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_SEMIRAW_Q): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_UNPACK_SEMIRAW_QP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_Q): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_QP): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_SEMIRAW_Q): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_PACK_SEMIRAW_QP): Likewise. [_FP_W_TYPE_SIZE < 64] (_FP_SQRT_MEAT_Q): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_CMP_Q): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_CMP_EQ_Q): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_CMP_UNORD_Q): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_TO_INT_Q): Likewise. [_FP_W_TYPE_SIZE < 64] (FP_FROM_INT_Q): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_RAW_Q): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_RAW_QP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_RAW_Q): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_RAW_QP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_Q): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_QP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_SEMIRAW_Q): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_UNPACK_SEMIRAW_QP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_Q): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_QP): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_SEMIRAW_Q): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_PACK_SEMIRAW_QP): Likewise. [_FP_W_TYPE_SIZE >= 64] (_FP_SQRT_MEAT_Q): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_CMP_Q): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_CMP_EQ_Q): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_CMP_UNORD_Q): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_TO_INT_Q): Likewise. [_FP_W_TYPE_SIZE >= 64] (FP_FROM_INT_Q): Likewise. * soft-fp/single.h (FP_UNPACK_RAW_S): Likewise. (FP_UNPACK_RAW_SP): Likewise. (FP_PACK_RAW_S): Likewise. (FP_PACK_RAW_SP): Likewise. (FP_UNPACK_S): Likewise. (FP_UNPACK_SP): Likewise. (FP_UNPACK_SEMIRAW_S): Likewise. (FP_UNPACK_SEMIRAW_SP): Likewise. (FP_PACK_S): Likewise. (FP_PACK_SP): Likewise. (FP_PACK_SEMIRAW_S): Likewise. (FP_PACK_SEMIRAW_SP): Likewise. (_FP_SQRT_MEAT_S): Likewise. (FP_CMP_S): Likewise. (FP_CMP_EQ_S): Likewise. (FP_CMP_UNORD_S): Likewise. (FP_TO_INT_S): Likewise. (FP_FROM_INT_S): Likewise.
Diffstat (limited to 'soft-fp/extended.h')
-rw-r--r--soft-fp/extended.h82
1 files changed, 41 insertions, 41 deletions
diff --git a/soft-fp/extended.h b/soft-fp/extended.h
index 0dd6a87..d16fa66 100644
--- a/soft-fp/extended.h
+++ b/soft-fp/extended.h
@@ -162,7 +162,7 @@ union _FP_UNION_E
# define FP_UNPACK_E(X, val) \
do \
{ \
- FP_UNPACK_RAW_E (X, val); \
+ FP_UNPACK_RAW_E (X, (val)); \
_FP_UNPACK_CANONICAL (E, 4, X); \
} \
while (0)
@@ -170,7 +170,7 @@ union _FP_UNION_E
# define FP_UNPACK_EP(X, val) \
do \
{ \
- FP_UNPACK_RAW_EP (X, val); \
+ FP_UNPACK_RAW_EP (X, (val)); \
_FP_UNPACK_CANONICAL (E, 4, X); \
} \
while (0)
@@ -178,7 +178,7 @@ union _FP_UNION_E
# define FP_UNPACK_SEMIRAW_E(X, val) \
do \
{ \
- FP_UNPACK_RAW_E (X, val); \
+ FP_UNPACK_RAW_E (X, (val)); \
_FP_UNPACK_SEMIRAW (E, 4, X); \
} \
while (0)
@@ -186,7 +186,7 @@ union _FP_UNION_E
# define FP_UNPACK_SEMIRAW_EP(X, val) \
do \
{ \
- FP_UNPACK_RAW_EP (X, val); \
+ FP_UNPACK_RAW_EP (X, (val)); \
_FP_UNPACK_SEMIRAW (E, 4, X); \
} \
while (0)
@@ -195,7 +195,7 @@ union _FP_UNION_E
do \
{ \
_FP_PACK_CANONICAL (E, 4, X); \
- FP_PACK_RAW_E (val, X); \
+ FP_PACK_RAW_E ((val), X); \
} \
while (0)
@@ -203,7 +203,7 @@ union _FP_UNION_E
do \
{ \
_FP_PACK_CANONICAL (E, 4, X); \
- FP_PACK_RAW_EP (val, X); \
+ FP_PACK_RAW_EP ((val), X); \
} \
while (0)
@@ -211,7 +211,7 @@ union _FP_UNION_E
do \
{ \
_FP_PACK_SEMIRAW (E, 4, X); \
- FP_PACK_RAW_E (val, X); \
+ FP_PACK_RAW_E ((val), X); \
} \
while (0)
@@ -219,7 +219,7 @@ union _FP_UNION_E
do \
{ \
_FP_PACK_SEMIRAW (E, 4, X); \
- FP_PACK_RAW_EP (val, X); \
+ FP_PACK_RAW_EP ((val), X); \
} \
while (0)
@@ -244,36 +244,36 @@ union _FP_UNION_E
# define _FP_SQRT_MEAT_E(R, S, T, X, q) \
do \
{ \
- q = (_FP_W_TYPE) 1 << (_FP_W_TYPE_SIZE - 1); \
+ (q) = (_FP_W_TYPE) 1 << (_FP_W_TYPE_SIZE - 1); \
_FP_FRAC_SRL_4 (X, (_FP_WORKBITS)); \
while (q) \
{ \
- T##_f[1] = S##_f[1] + q; \
+ T##_f[1] = S##_f[1] + (q); \
if (T##_f[1] <= X##_f[1]) \
{ \
- S##_f[1] = T##_f[1] + q; \
+ S##_f[1] = T##_f[1] + (q); \
X##_f[1] -= T##_f[1]; \
- R##_f[1] += q; \
+ R##_f[1] += (q); \
} \
_FP_FRAC_SLL_2 (X, 1); \
- q >>= 1; \
+ (q) >>= 1; \
} \
- q = (_FP_W_TYPE) 1 << (_FP_W_TYPE_SIZE - 1); \
+ (q) = (_FP_W_TYPE) 1 << (_FP_W_TYPE_SIZE - 1); \
while (q) \
{ \
- T##_f[0] = S##_f[0] + q; \
+ T##_f[0] = S##_f[0] + (q); \
T##_f[1] = S##_f[1]; \
if (T##_f[1] < X##_f[1] \
|| (T##_f[1] == X##_f[1] \
&& T##_f[0] <= X##_f[0])) \
{ \
- S##_f[0] = T##_f[0] + q; \
+ S##_f[0] = T##_f[0] + (q); \
S##_f[1] += (T##_f[0] > S##_f[0]); \
_FP_FRAC_DEC_2 (X, T); \
- R##_f[0] += q; \
+ R##_f[0] += (q); \
} \
_FP_FRAC_SLL_2 (X, 1); \
- q >>= 1; \
+ (q) >>= 1; \
} \
_FP_FRAC_SLL_4 (R, (_FP_WORKBITS)); \
if (X##_f[0] | X##_f[1]) \
@@ -287,12 +287,12 @@ union _FP_UNION_E
} \
while (0)
-# define FP_CMP_E(r, X, Y, un, ex) _FP_CMP (E, 4, r, X, Y, un, ex)
-# define FP_CMP_EQ_E(r, X, Y, ex) _FP_CMP_EQ (E, 4, r, X, Y, ex)
-# define FP_CMP_UNORD_E(r, X, Y, ex) _FP_CMP_UNORD (E, 4, r, X, Y, ex)
+# define FP_CMP_E(r, X, Y, un, ex) _FP_CMP (E, 4, (r), X, Y, (un), (ex))
+# define FP_CMP_EQ_E(r, X, Y, ex) _FP_CMP_EQ (E, 4, (r), X, Y, (ex))
+# define FP_CMP_UNORD_E(r, X, Y, ex) _FP_CMP_UNORD (E, 4, (r), X, Y, (ex))
-# define FP_TO_INT_E(r, X, rsz, rsg) _FP_TO_INT (E, 4, r, X, rsz, rsg)
-# define FP_FROM_INT_E(X, r, rs, rt) _FP_FROM_INT (E, 4, X, r, rs, rt)
+# define FP_TO_INT_E(r, X, rsz, rsg) _FP_TO_INT (E, 4, (r), X, (rsz), (rsg))
+# define FP_FROM_INT_E(X, r, rs, rt) _FP_FROM_INT (E, 4, X, (r), (rs), rt)
# define _FP_FRAC_HIGH_E(X) (X##_f[2])
# define _FP_FRAC_HIGH_RAW_E(X) (X##_f[1])
@@ -386,7 +386,7 @@ union _FP_UNION_E
# define FP_UNPACK_E(X, val) \
do \
{ \
- FP_UNPACK_RAW_E (X, val); \
+ FP_UNPACK_RAW_E (X, (val)); \
_FP_UNPACK_CANONICAL (E, 2, X); \
} \
while (0)
@@ -394,7 +394,7 @@ union _FP_UNION_E
# define FP_UNPACK_EP(X, val) \
do \
{ \
- FP_UNPACK_RAW_EP (X, val); \
+ FP_UNPACK_RAW_EP (X, (val)); \
_FP_UNPACK_CANONICAL (E, 2, X); \
} \
while (0)
@@ -402,7 +402,7 @@ union _FP_UNION_E
# define FP_UNPACK_SEMIRAW_E(X, val) \
do \
{ \
- FP_UNPACK_RAW_E (X, val); \
+ FP_UNPACK_RAW_E (X, (val)); \
_FP_UNPACK_SEMIRAW (E, 2, X); \
} \
while (0)
@@ -410,7 +410,7 @@ union _FP_UNION_E
# define FP_UNPACK_SEMIRAW_EP(X, val) \
do \
{ \
- FP_UNPACK_RAW_EP (X, val); \
+ FP_UNPACK_RAW_EP (X, (val)); \
_FP_UNPACK_SEMIRAW (E, 2, X); \
} \
while (0)
@@ -419,7 +419,7 @@ union _FP_UNION_E
do \
{ \
_FP_PACK_CANONICAL (E, 2, X); \
- FP_PACK_RAW_E (val, X); \
+ FP_PACK_RAW_E ((val), X); \
} \
while (0)
@@ -427,7 +427,7 @@ union _FP_UNION_E
do \
{ \
_FP_PACK_CANONICAL (E, 2, X); \
- FP_PACK_RAW_EP (val, X); \
+ FP_PACK_RAW_EP ((val), X); \
} \
while (0)
@@ -435,7 +435,7 @@ union _FP_UNION_E
do \
{ \
_FP_PACK_SEMIRAW (E, 2, X); \
- FP_PACK_RAW_E (val, X); \
+ FP_PACK_RAW_E ((val), X); \
} \
while (0)
@@ -443,7 +443,7 @@ union _FP_UNION_E
do \
{ \
_FP_PACK_SEMIRAW (E, 2, X); \
- FP_PACK_RAW_EP (val, X); \
+ FP_PACK_RAW_EP ((val), X); \
} \
while (0)
@@ -465,19 +465,19 @@ union _FP_UNION_E
# define _FP_SQRT_MEAT_E(R, S, T, X, q) \
do \
{ \
- q = (_FP_W_TYPE) 1 << (_FP_W_TYPE_SIZE - 1); \
+ (q) = (_FP_W_TYPE) 1 << (_FP_W_TYPE_SIZE - 1); \
_FP_FRAC_SRL_2 (X, (_FP_WORKBITS)); \
while (q) \
{ \
- T##_f0 = S##_f0 + q; \
+ T##_f0 = S##_f0 + (q); \
if (T##_f0 <= X##_f0) \
{ \
- S##_f0 = T##_f0 + q; \
+ S##_f0 = T##_f0 + (q); \
X##_f0 -= T##_f0; \
- R##_f0 += q; \
+ R##_f0 += (q); \
} \
_FP_FRAC_SLL_1 (X, 1); \
- q >>= 1; \
+ (q) >>= 1; \
} \
_FP_FRAC_SLL_2 (R, (_FP_WORKBITS)); \
if (X##_f0) \
@@ -489,12 +489,12 @@ union _FP_UNION_E
} \
while (0)
-# define FP_CMP_E(r, X, Y, un, ex) _FP_CMP (E, 2, r, X, Y, un, ex)
-# define FP_CMP_EQ_E(r, X, Y, ex) _FP_CMP_EQ (E, 2, r, X, Y, ex)
-# define FP_CMP_UNORD_E(r, X, Y, ex) _FP_CMP_UNORD (E, 2, r, X, Y, ex)
+# define FP_CMP_E(r, X, Y, un, ex) _FP_CMP (E, 2, (r), X, Y, (un), (ex))
+# define FP_CMP_EQ_E(r, X, Y, ex) _FP_CMP_EQ (E, 2, (r), X, Y, (ex))
+# define FP_CMP_UNORD_E(r, X, Y, ex) _FP_CMP_UNORD (E, 2, (r), X, Y, (ex))
-# define FP_TO_INT_E(r, X, rsz, rsg) _FP_TO_INT (E, 2, r, X, rsz, rsg)
-# define FP_FROM_INT_E(X, r, rs, rt) _FP_FROM_INT (E, 2, X, r, rs, rt)
+# define FP_TO_INT_E(r, X, rsz, rsg) _FP_TO_INT (E, 2, (r), X, (rsz), (rsg))
+# define FP_FROM_INT_E(X, r, rs, rt) _FP_FROM_INT (E, 2, X, (r), (rs), rt)
# define _FP_FRAC_HIGH_E(X) (X##_f1)
# define _FP_FRAC_HIGH_RAW_E(X) (X##_f0)