Message ID | 20190107172251.GA30599@intel.com |
---|---|
State | New |
Headers | show |
Series | soft-fp: Update _FP_W_TYPE_SIZE check from glibc | expand |
Except for the libgcc/config/rs6000/ibm-ldouble.c changes, the appropriate way to get these changes into libgcc would be a bulk update of all the files copied from glibc, rather than selectively merging particular changes - which would be done at another development stage rather than when in regressions-only mode, given that this is not a user-visible bug at all but purely an internal cleanup.
On Mon, Jan 7, 2019 at 2:49 PM Joseph Myers <joseph@codesourcery.com> wrote: > > Except for the libgcc/config/rs6000/ibm-ldouble.c changes, the appropriate > way to get these changes into libgcc would be a bulk update of all the > files copied from glibc, rather than selectively merging particular > changes - which would be done at another development stage rather than > when in regressions-only mode, given that this is not a user-visible bug > at all but purely an internal cleanup. > I am queuing this patch for GCC 10. Thanks.
diff --git a/libgcc/config/rs6000/ibm-ldouble.c b/libgcc/config/rs6000/ibm-ldouble.c index f9118d8fc39..0e1c443af01 100644 --- a/libgcc/config/rs6000/ibm-ldouble.c +++ b/libgcc/config/rs6000/ibm-ldouble.c @@ -407,7 +407,7 @@ fmsub (double a, double b, double c) FP_UNPACK_RAW_D (C, c); /* Extend double to quad. */ -#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q +#if _FP_W_TYPE_SIZE < 64 FP_EXTEND(Q,D,4,2,X,A); FP_EXTEND(Q,D,4,2,Y,B); FP_EXTEND(Q,D,4,2,Z,C); @@ -436,7 +436,7 @@ fmsub (double a, double b, double c) FP_SUB_Q(V,U,Z); /* Truncate quad to double. */ -#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q +#if _FP_W_TYPE_SIZE < 64 V_f[3] &= 0x0007ffff; FP_TRUNC(D,Q,2,4,R,V); #else diff --git a/libgcc/soft-fp/extenddftf2.c b/libgcc/soft-fp/extenddftf2.c index 31c7263efa5..ea40d47e3f2 100644 --- a/libgcc/soft-fp/extenddftf2.c +++ b/libgcc/soft-fp/extenddftf2.c @@ -43,7 +43,7 @@ __extenddftf2 (DFtype a) FP_INIT_EXCEPTIONS; 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, R, A); #else FP_EXTEND (Q, D, 2, 1, R, A); diff --git a/libgcc/soft-fp/extendhftf2.c b/libgcc/soft-fp/extendhftf2.c index 7f1f89ed66f..f42db71d198 100644 --- a/libgcc/soft-fp/extendhftf2.c +++ b/libgcc/soft-fp/extendhftf2.c @@ -41,7 +41,7 @@ __extendhftf2 (HFtype a) FP_INIT_EXCEPTIONS; FP_UNPACK_RAW_H (A, a); -#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q +#if _FP_W_TYPE_SIZE < 64 FP_EXTEND (Q, H, 4, 1, R, A); #else FP_EXTEND (Q, H, 2, 1, R, A); diff --git a/libgcc/soft-fp/extendsftf2.c b/libgcc/soft-fp/extendsftf2.c index e3f2e950bf1..618ab098faa 100644 --- a/libgcc/soft-fp/extendsftf2.c +++ b/libgcc/soft-fp/extendsftf2.c @@ -43,7 +43,7 @@ __extendsftf2 (SFtype a) FP_INIT_EXCEPTIONS; 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, R, A); #else FP_EXTEND (Q, S, 2, 1, R, A); diff --git a/libgcc/soft-fp/extendxftf2.c b/libgcc/soft-fp/extendxftf2.c index 2d12da1dde6..5ea58d981c7 100644 --- a/libgcc/soft-fp/extendxftf2.c +++ b/libgcc/soft-fp/extendxftf2.c @@ -41,7 +41,7 @@ __extendxftf2 (XFtype a) FP_INIT_TRAPPING_EXCEPTIONS; FP_UNPACK_RAW_E (A, a); -#if (2 * _FP_W_TYPE_SIZE) < _FP_FRACBITS_Q +#if _FP_W_TYPE_SIZE < 64 FP_EXTEND (Q, E, 4, 4, R, A); #else FP_EXTEND (Q, E, 2, 2, R, A); diff --git a/libgcc/soft-fp/trunctfdf2.c b/libgcc/soft-fp/trunctfdf2.c index c0d1d34841a..0a52987f815 100644 --- a/libgcc/soft-fp/trunctfdf2.c +++ b/libgcc/soft-fp/trunctfdf2.c @@ -42,7 +42,7 @@ __trunctfdf2 (TFtype 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/libgcc/soft-fp/trunctfhf2.c b/libgcc/soft-fp/trunctfhf2.c index 8eddd14b2f4..156fab231e5 100644 --- a/libgcc/soft-fp/trunctfhf2.c +++ b/libgcc/soft-fp/trunctfhf2.c @@ -40,7 +40,7 @@ __trunctfhf2 (TFtype 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 (H, Q, 1, 4, R, A); #else FP_TRUNC (H, Q, 1, 2, R, A); diff --git a/libgcc/soft-fp/trunctfsf2.c b/libgcc/soft-fp/trunctfsf2.c index 4b04d698d24..e37976e2064 100644 --- a/libgcc/soft-fp/trunctfsf2.c +++ b/libgcc/soft-fp/trunctfsf2.c @@ -42,7 +42,7 @@ __trunctfsf2 (TFtype 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/libgcc/soft-fp/trunctfxf2.c b/libgcc/soft-fp/trunctfxf2.c index 391de243ce3..12b6717351b 100644 --- a/libgcc/soft-fp/trunctfxf2.c +++ b/libgcc/soft-fp/trunctfxf2.c @@ -41,7 +41,7 @@ __trunctfxf2 (TFtype 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 (E, Q, 4, 4, R, A); #else FP_TRUNC (E, Q, 2, 2, R, A);