VirtualBox

Changeset 97290 in vbox


Ignore:
Timestamp:
Oct 25, 2022 7:57:28 AM (2 years ago)
Author:
vboxsync
Message:

VMM/IEM: Treat zero as a Normal in fptan, bugref:9898

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAllAImplC.cpp

    r97257 r97290  
    62006200    uint16_t fFsw       = (pFpuState->FSW & (X86_FSW_C0 | /*X86_FSW_C2 |*/ X86_FSW_C3)) | (6 << X86_FSW_TOP_SHIFT);
    62016201
    6202     if (RTFLOAT80U_IS_NORMAL(pr80Val))
     6202    if (RTFLOAT80U_IS_ZERO(pr80Val))
     6203    {
     6204        pFpuResTwo->r80Result1 = *pr80Val;
     6205        pFpuResTwo->r80Result2 = g_ar80One[0];
     6206    }
     6207    else if (RTFLOAT80U_IS_NORMAL(pr80Val))
    62036208    {
    62046209        if (pr80Val->s.uExponent >= RTFLOAT80U_EXP_BIAS + 63)
     
    62296234        fFsw |= X86_FSW_IE;
    62306235        if (!(fFcw & X86_FCW_IM))
    6231             fFsw |= X86_FSW_ES | X86_FSW_B;
     6236            fFsw |= X86_FSW_ES | X86_FSW_B | (7 << X86_FSW_TOP_SHIFT);
    62326237    }
    62336238
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette