summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuis Machado <luisgpm@br.ibm.com>2010-11-10 16:15:05 -0500
committerLuis Machado <luisgpm@br.ibm.com>2010-12-03 04:02:00 -0200
commit89972db69f823f89a5d5ea89ca1b98315701c6ab (patch)
tree00408817c5c043aeb8f9821e48ffb1d71537189d
parentd23dba104a4c3a039f52fe8c82d21cf9b41f4d99 (diff)
downloadglibc-89972db69f823f89a5d5ea89ca1b98315701c6ab.tar.gz
Fix comparison in sqrtl for IBM long double 128.
(cherry picked from commit da93d21475878725c9e0cb2b6e650bd8d3628435)
-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 9b466843ca..65c45fe168 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-04 Luis Machado <luisgpm@br.ibm.com>
* sysdeps/powerpc/powerpc32/power7/mempcpy.S: New file.
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 {