VirtualBox

Changeset 104368 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Apr 19, 2024 6:54:56 AM (11 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
162857
Message:

VMM/IEM: bugref:9898 Fix insertps emulation to apply the clear mask after (rather than before) copying the source value to the destination.

File:
1 edited

Legend:

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

    r104269 r104368  
    827827        IEM_MC_LOCAL(uint32_t, uSrc);
    828828        IEM_MC_FETCH_XREG_U32(uSrc, IEM_GET_MODRM_RM(pVCpu, bRm), (bImm >> 6) & 3);
     829        IEM_MC_STORE_XREG_U32(IEM_GET_MODRM_REG(pVCpu, bRm), (bImm >> 4) & 3, uSrc);
    829830        IEM_MC_CLEAR_XREG_U32_MASK(IEM_GET_MODRM_REG(pVCpu, bRm), bImm);
    830         IEM_MC_STORE_XREG_U32(IEM_GET_MODRM_REG(pVCpu, bRm), (bImm >> 4) & 3, uSrc);
    831831
    832832        IEM_MC_ADVANCE_RIP_AND_FINISH();
     
    849849        IEM_MC_LOCAL(uint32_t,  uSrc);
    850850        IEM_MC_FETCH_MEM_U32(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
     851        IEM_MC_STORE_XREG_U32(IEM_GET_MODRM_REG(pVCpu, bRm), (bImm >> 4) & 3, uSrc);
    851852        IEM_MC_CLEAR_XREG_U32_MASK(IEM_GET_MODRM_REG(pVCpu, bRm), bImm);
    852         IEM_MC_STORE_XREG_U32(IEM_GET_MODRM_REG(pVCpu, bRm), (bImm >> 4) & 3, uSrc);
    853853        IEM_MC_ADVANCE_RIP_AND_FINISH();
    854854        IEM_MC_END();
Note: See TracChangeset for help on using the changeset viewer.

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