about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLuis Machado <luisgpm@br.ibm.com>2010-11-10 16:15:05 -0500
committerUlrich Drepper <drepper@gmail.com>2010-11-10 16:15:05 -0500
commitda93d21475878725c9e0cb2b6e650bd8d3628435 (patch)
treebb75481231c7d8e26c1950f45dbdd3c23930d6ec
parent8ca52c6e3b2dc44a46c32d6a8e6a7f608915998f (diff)
downloadglibc-da93d21475878725c9e0cb2b6e650bd8d3628435.tar.gz
glibc-da93d21475878725c9e0cb2b6e650bd8d3628435.tar.xz
glibc-da93d21475878725c9e0cb2b6e650bd8d3628435.zip
Fix comparison in sqrtl for IBM long double 128.
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 89f622b0b5..6963755cb5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2010-11-10  Luis Machado  <luisgpm@br.ibm.com>
+
+	* sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c (__ieee754_sqrtl): Force
+	  signed comparison.
+
 2010-11-09  H.J. Lu  <hongjiu.lu@intel.com>
 
 	[BZ #12205]
diff --git a/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c b/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c
index 1f533cae42..fe6bb55b07 100644
--- a/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c
@@ -73,9 +73,9 @@ long double __ieee754_sqrtl(long double x)
 	m = ((a.i[2] >> 20) & 0x7ff) - 54;
       }
       m += n;
-      if (m > 0)
+      if ((int) m > 0)
 	a.i[2] = (a.i[2] & 0x800fffff) | (m << 20);
-      else if (m <= -54) {
+      else if ((int) m <= -54) {
 	a.i[2] &= 0x80000000;
 	a.i[3] = 0;
       } else {