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:
parent
eff331f048
commit
ca721ce883
@ -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);
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user