From 69da3c9e87e0a692e79db0615a53782e4198dbf0 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 7 Jan 2019 09:04:29 -0800 Subject: soft-fp: Properly check _FP_W_TYPE_SIZE [BZ #24066] quad.h have #if _FP_W_TYPE_SIZE < 64 union _FP_UNION_Q { Use 4 _FP_W_TYPEs } #else union _FP_UNION_Q { Use 2 _FP_W_TYPEs } #endif Replace #if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q with #if _FP_W_TYPE_SIZE < 64 to check whether 4 or 2 _FP_W_TYPEs are used for IEEE quad precision. Tested with build-many-glibcs.py. [BZ #24066] * soft-fp/extenddftf2.c: Use "_FP_W_TYPE_SIZE < 64" to check if 4_FP_W_TYPEs are used for IEEE quad precision. * soft-fp/extendhftf2.c: Likewise. * soft-fp/extendsftf2.c: Likewise. * soft-fp/extendxftf2.c: Likewise. * soft-fp/trunctfdf2.c: Likewise. * soft-fp/trunctfhf2.c: Likewise. * soft-fp/trunctfsf2.c: Likewise. * soft-fp/trunctfxf2.c: Likewise. * sysdeps/alpha/ots_cvttx.c: Likewise. * sysdeps/alpha/ots_cvtxt.c: Likewise. * sysdeps/ieee754/soft-fp/s_daddl.c: Likewise. * sysdeps/ieee754/soft-fp/s_ddivl.c: Likewise. * sysdeps/ieee754/soft-fp/s_dmull.c: Likewise. * sysdeps/ieee754/soft-fp/s_dsubl.c: Likewise. * sysdeps/ieee754/soft-fp/s_faddl.c: Likewise. * sysdeps/ieee754/soft-fp/s_fdivl.c: Likewise. * sysdeps/ieee754/soft-fp/s_fmull.c: Likewise. * sysdeps/ieee754/soft-fp/s_fsubl.c: Likewise. * sysdeps/sparc/sparc32/q_dtoq.c: Likewise. * sysdeps/sparc/sparc32/q_qtod.c: Likewise. * sysdeps/sparc/sparc32/q_qtos.c: Likewise. * sysdeps/sparc/sparc32/q_stoq.c: Likewise. * sysdeps/sparc/sparc64/qp_dtoq.c: Likewise. * sysdeps/sparc/sparc64/qp_qtod.c: Likewise. * sysdeps/sparc/sparc64/qp_qtos.c: Likewise. * sysdeps/sparc/sparc64/qp_stoq.c: Likewise. --- sysdeps/sparc/sparc32/q_dtoq.c | 2 +- sysdeps/sparc/sparc32/q_qtod.c | 2 +- sysdeps/sparc/sparc32/q_qtos.c | 2 +- sysdeps/sparc/sparc32/q_stoq.c | 2 +- sysdeps/sparc/sparc64/qp_dtoq.c | 2 +- sysdeps/sparc/sparc64/qp_qtod.c | 2 +- sysdeps/sparc/sparc64/qp_qtos.c | 2 +- sysdeps/sparc/sparc64/qp_stoq.c | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) (limited to 'sysdeps/sparc') diff --git a/sysdeps/sparc/sparc32/q_dtoq.c b/sysdeps/sparc/sparc32/q_dtoq.c index 4fa5eb707a..53f833dbb8 100644 --- a/sysdeps/sparc/sparc32/q_dtoq.c +++ b/sysdeps/sparc/sparc32/q_dtoq.c @@ -32,7 +32,7 @@ long double _Q_dtoq(const double a) FP_INIT_ROUNDMODE; FP_UNPACK_RAW_D(A, a); -#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q +#if _FP_W_TYPE_SIZE < 64 FP_EXTEND(Q,D,4,2,C,A); #else FP_EXTEND(Q,D,2,1,C,A); diff --git a/sysdeps/sparc/sparc32/q_qtod.c b/sysdeps/sparc/sparc32/q_qtod.c index e0987fc77d..fe644672ad 100644 --- a/sysdeps/sparc/sparc32/q_qtod.c +++ b/sysdeps/sparc/sparc32/q_qtod.c @@ -32,7 +32,7 @@ double _Q_qtod(const long double a) FP_INIT_ROUNDMODE; FP_UNPACK_SEMIRAW_Q(A, a); -#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q +#if _FP_W_TYPE_SIZE < 64 FP_TRUNC(D,Q,2,4,R,A); #else FP_TRUNC(D,Q,1,2,R,A); diff --git a/sysdeps/sparc/sparc32/q_qtos.c b/sysdeps/sparc/sparc32/q_qtos.c index d150c7f36b..36dc247631 100644 --- a/sysdeps/sparc/sparc32/q_qtos.c +++ b/sysdeps/sparc/sparc32/q_qtos.c @@ -32,7 +32,7 @@ float _Q_qtos(const long double a) FP_INIT_ROUNDMODE; FP_UNPACK_SEMIRAW_Q(A, a); -#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q +#if _FP_W_TYPE_SIZE < 64 FP_TRUNC(S,Q,1,4,R,A); #else FP_TRUNC(S,Q,1,2,R,A); diff --git a/sysdeps/sparc/sparc32/q_stoq.c b/sysdeps/sparc/sparc32/q_stoq.c index 93fb054cef..6cd8704ce5 100644 --- a/sysdeps/sparc/sparc32/q_stoq.c +++ b/sysdeps/sparc/sparc32/q_stoq.c @@ -31,7 +31,7 @@ long double _Q_stoq(const float a) long double c; FP_UNPACK_RAW_S(A, a); -#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q +#if _FP_W_TYPE_SIZE < 64 FP_EXTEND(Q,S,4,1,C,A); #else FP_EXTEND(Q,S,2,1,C,A); diff --git a/sysdeps/sparc/sparc64/qp_dtoq.c b/sysdeps/sparc/sparc64/qp_dtoq.c index 7942c95397..022cb091f8 100644 --- a/sysdeps/sparc/sparc64/qp_dtoq.c +++ b/sysdeps/sparc/sparc64/qp_dtoq.c @@ -31,7 +31,7 @@ void _Qp_dtoq(long double *c, const double a) FP_INIT_ROUNDMODE; FP_UNPACK_RAW_D(A, a); -#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q +#if _FP_W_TYPE_SIZE < 64 FP_EXTEND(Q,D,4,2,C,A); #else FP_EXTEND(Q,D,2,1,C,A); diff --git a/sysdeps/sparc/sparc64/qp_qtod.c b/sysdeps/sparc/sparc64/qp_qtod.c index 78e1a209ef..953e2d8d6e 100644 --- a/sysdeps/sparc/sparc64/qp_qtod.c +++ b/sysdeps/sparc/sparc64/qp_qtod.c @@ -32,7 +32,7 @@ double _Qp_qtod(const long double *a) FP_INIT_ROUNDMODE; FP_UNPACK_SEMIRAW_QP(A, a); -#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q +#if _FP_W_TYPE_SIZE < 64 FP_TRUNC(D,Q,2,4,R,A); #else FP_TRUNC(D,Q,1,2,R,A); diff --git a/sysdeps/sparc/sparc64/qp_qtos.c b/sysdeps/sparc/sparc64/qp_qtos.c index 87901f1b4d..1b932ca189 100644 --- a/sysdeps/sparc/sparc64/qp_qtos.c +++ b/sysdeps/sparc/sparc64/qp_qtos.c @@ -32,7 +32,7 @@ float _Qp_qtos(const long double *a) FP_INIT_ROUNDMODE; FP_UNPACK_SEMIRAW_QP(A, a); -#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q +#if _FP_W_TYPE_SIZE < 64 FP_TRUNC(S,Q,1,4,R,A); #else FP_TRUNC(S,Q,1,2,R,A); diff --git a/sysdeps/sparc/sparc64/qp_stoq.c b/sysdeps/sparc/sparc64/qp_stoq.c index 005afce11c..4d1c854ebc 100644 --- a/sysdeps/sparc/sparc64/qp_stoq.c +++ b/sysdeps/sparc/sparc64/qp_stoq.c @@ -31,7 +31,7 @@ void _Qp_stoq(long double *c, const float a) FP_INIT_ROUNDMODE; FP_UNPACK_RAW_S(A, a); -#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q +#if _FP_W_TYPE_SIZE < 64 FP_EXTEND(Q,S,4,1,C,A); #else FP_EXTEND(Q,S,2,1,C,A); -- cgit v1.2.3