* libc/machine/powerpc/ufix64toa.c (_ufix64to_r): Fix shifts
to use (Ebits + 1) which accounts for the sign-bit.
+2003-11-10 Jeff Johnston <jjohnstn@redhat.com>
+
+ * libc/machine/powerpc/ufix64toa.c (_ufix64to_r): Fix shifts
+ to use (Ebits + 1) which accounts for the sign-bit.
+
2003-11-07 Jeff Johnston <jjohnstn@redhat.com>
* configure.host: Remove -DLOOSE_KERNEL_NAMES flag for linux
/* build long double */
exp = -negexp + Bias;
word0(ldbl) = (exp << Exp_shift);
- word1(ldbl) = hiword(fix64) << (32-Ebits);
- word2(ldbl) = loword(fix64) << (32-Ebits);
+ word1(ldbl) = hiword(fix64) << (32-Ebits-1);
+ word2(ldbl) = loword(fix64) << (32-Ebits-1);
word3(ldbl) = 0;
- if (Ebits < 32)
+ if (Ebits+1 < 32)
{
- word0(ldbl) |= hiword(fix64) >> Ebits;
- word1(ldbl) |= loword(fix64) >> Ebits;
+ word0(ldbl) |= hiword(fix64) >> (Ebits + 1);
+ word1(ldbl) |= loword(fix64) >> (Ebits + 1);
}
}