different signs correctly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65405
138bc75d-0d04-0410-961f-
82ee72b054a4
+2003-04-09 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/fp-bit.c (unpack_d): Handle pair of doubles with
+ different signs correctly.
+
2003-04-09 Vladimir Makarov <vmakarov@redhat.com>
* sched-deps.c (reg_pending_barrier_mode): New enumeration.
if (exp != EXPMAX && exp != 0 && low != 0)
{
int lowexp = ((int)(low >> HALFFRACBITS)) & ((1 << EXPBITS) - 1);
+ int lowsign = ((int)(low >> (((HALFFRACBITS + EXPBITS))))) & 1;
int shift;
fractype xlow;
xlow <<= shift;
else if (shift < 0)
xlow >>= -shift;
- fraction += xlow;
+ if (sign == lowsign)
+ fraction += xlow;
+ else
+ fraction -= xlow;
}
}
# else