diff mbox series

soft-fp: Update _FP_W_TYPE_SIZE check from glibc

Message ID 20190107172251.GA30599@intel.com
State New
Headers show
Series soft-fp: Update _FP_W_TYPE_SIZE check from glibc | expand

Commit Message

H.J. Lu Jan. 7, 2019, 5:22 p.m. UTC
OK for trunk?

Thanks.


H.J.
---
Update soft-fp from glibc with:

commit 69da3c9e87e0a692e79db0615a53782e4198dbf0
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Mon Jan 7 09:04:29 2019 -0800

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.

	* 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.
	* config/rs6000/ibm-ldouble.c: Likewise.
---
 libgcc/config/rs6000/ibm-ldouble.c | 4 ++--
 libgcc/soft-fp/extenddftf2.c       | 2 +-
 libgcc/soft-fp/extendhftf2.c       | 2 +-
 libgcc/soft-fp/extendsftf2.c       | 2 +-
 libgcc/soft-fp/extendxftf2.c       | 2 +-
 libgcc/soft-fp/trunctfdf2.c        | 2 +-
 libgcc/soft-fp/trunctfhf2.c        | 2 +-
 libgcc/soft-fp/trunctfsf2.c        | 2 +-
 libgcc/soft-fp/trunctfxf2.c        | 2 +-
 9 files changed, 10 insertions(+), 10 deletions(-)

Comments

Joseph Myers Jan. 7, 2019, 10:49 p.m. UTC | #1
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.
H.J. Lu Jan. 7, 2019, 11:38 p.m. UTC | #2
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 mbox series

Patch

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);