about summary refs log tree commit diff
path: root/soft-fp
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2019-01-07 09:04:29 -0800
committerH.J. Lu <hjl.tools@gmail.com>2019-01-07 09:04:39 -0800
commit69da3c9e87e0a692e79db0615a53782e4198dbf0 (patch)
tree19a3b5f1b84b36f78421a364ce4d29bbdfa0cb94 /soft-fp
parent2ef427168818ce04b03cecb7b739f9db0156e3e4 (diff)
downloadglibc-69da3c9e87e0a692e79db0615a53782e4198dbf0.tar.gz
glibc-69da3c9e87e0a692e79db0615a53782e4198dbf0.tar.xz
glibc-69da3c9e87e0a692e79db0615a53782e4198dbf0.zip
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.
Diffstat (limited to 'soft-fp')
-rw-r--r--soft-fp/extenddftf2.c2
-rw-r--r--soft-fp/extendhftf2.c2
-rw-r--r--soft-fp/extendsftf2.c2
-rw-r--r--soft-fp/extendxftf2.c2
-rw-r--r--soft-fp/trunctfdf2.c2
-rw-r--r--soft-fp/trunctfhf2.c2
-rw-r--r--soft-fp/trunctfsf2.c2
-rw-r--r--soft-fp/trunctfxf2.c2
8 files changed, 8 insertions, 8 deletions
diff --git a/soft-fp/extenddftf2.c b/soft-fp/extenddftf2.c
index 85a17ceb9e..0568ddf177 100644
--- a/soft-fp/extenddftf2.c
+++ b/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/soft-fp/extendhftf2.c b/soft-fp/extendhftf2.c
index ed19f0db27..c71ab53a45 100644
--- a/soft-fp/extendhftf2.c
+++ b/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/soft-fp/extendsftf2.c b/soft-fp/extendsftf2.c
index 4707c40745..82b5d627dd 100644
--- a/soft-fp/extendsftf2.c
+++ b/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/soft-fp/extendxftf2.c b/soft-fp/extendxftf2.c
index 858e122a16..d9885e5c8f 100644
--- a/soft-fp/extendxftf2.c
+++ b/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/soft-fp/trunctfdf2.c b/soft-fp/trunctfdf2.c
index 440ccfacc7..f62d5419de 100644
--- a/soft-fp/trunctfdf2.c
+++ b/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/soft-fp/trunctfhf2.c b/soft-fp/trunctfhf2.c
index 6ee80c519c..61d08f896e 100644
--- a/soft-fp/trunctfhf2.c
+++ b/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/soft-fp/trunctfsf2.c b/soft-fp/trunctfsf2.c
index 8b2f23df25..965e1c488f 100644
--- a/soft-fp/trunctfsf2.c
+++ b/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/soft-fp/trunctfxf2.c b/soft-fp/trunctfxf2.c
index bcb8e888c6..0d828fac95 100644
--- a/soft-fp/trunctfxf2.c
+++ b/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);