MFC: r205394

Ensure that __fpu_ftox() both returns the high bits and res[1] contains
the low bits also in the default case.

PR:		144900
Obtained from:	OpenBSD
This commit is contained in:
marius 2010-03-30 19:03:26 +00:00
parent eff331f048
commit ca721ce883

View File

@ -248,8 +248,8 @@ __fpu_ftox(fe, fp, res)
sign = fp->fp_sign;
switch (fp->fp_class) {
case FPC_ZERO:
res[1] = 0;
return (0);
i = 0;
goto done;
case FPC_NUM:
/*
@ -273,15 +273,17 @@ __fpu_ftox(fe, fp, res)
break;
if (sign)
i = -i;
res[1] = (int)i;
return (i >> 32);
goto done;
default: /* Inf, qNaN, sNaN */
break;
}
/* overflow: replace any inexact exception with invalid */
fe->fe_cx = (fe->fe_cx & ~FSR_NX) | FSR_NV;
return (0x7fffffffffffffffLL + sign);
i = 0x7fffffffffffffffLL + sign;
done:
res[1] = i & 0xffffffff;
return (i >> 32);
}
/*