From 89972db69f823f89a5d5ea89ca1b98315701c6ab Mon Sep 17 00:00:00 2001 From: Luis Machado Date: Wed, 10 Nov 2010 16:15:05 -0500 Subject: Fix comparison in sqrtl for IBM long double 128. (cherry picked from commit da93d21475878725c9e0cb2b6e650bd8d3628435) --- ChangeLog | 5 +++++ sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c | 4 ++-- 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 + + * sysdeps/ieee754/ldbl-128ibm/e_sqrtl.c (__ieee754_sqrtl): Force + signed comparison. + 2010-11-04 Luis Machado * 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 { -- cgit 1.4.1