mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 08:06:46 +00:00
[FAST486]
Fix FIST(P) and FRNDINT. svn path=/trunk/; revision=67853
This commit is contained in:
parent
961a258af9
commit
6b67f245cf
1 changed files with 3 additions and 3 deletions
|
@ -2086,7 +2086,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeD9)
|
|||
/* Round the result to an integer, towards zero */
|
||||
if (FPU_ST(0).Exponent < FPU_REAL10_BIAS + 63)
|
||||
{
|
||||
State->FpuControl.Rc = FPU_ROUND_DOWN;
|
||||
State->FpuControl.Rc = FPU_ROUND_TRUNCATE;
|
||||
|
||||
if (Fast486FpuToInteger(State, &Temp, &Integer))
|
||||
{
|
||||
|
@ -2543,7 +2543,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDB)
|
|||
}
|
||||
|
||||
/* Check if it can fit in a signed 32-bit integer */
|
||||
if ((((ULONGLONG)Temp >> 31) + 1ULL) > 1ULL)
|
||||
if ((LONGLONG)((LONG)Temp) != Temp)
|
||||
{
|
||||
State->FpuStatus.Ie = TRUE;
|
||||
|
||||
|
@ -3240,7 +3240,7 @@ FAST486_OPCODE_HANDLER(Fast486FpuOpcodeDF)
|
|||
}
|
||||
|
||||
/* Check if it can fit in a signed 16-bit integer */
|
||||
if ((((ULONGLONG)Temp >> 15) + 1ULL) > 1ULL)
|
||||
if ((LONGLONG)((SHORT)Temp) != Temp)
|
||||
{
|
||||
/* Raise the invalid operation exception */
|
||||
State->FpuStatus.Ie = TRUE;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue