VirtualBox

Changeset 46956 in vbox


Ignore:
Timestamp:
Jul 4, 2013 2:04:41 AM (11 years ago)
Author:
vboxsync
Message:

Added missing IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF after IEM_MC_REF_GREG_U32.

File:
1 edited

Legend:

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

    r46953 r46956  
    130130                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU32, pu32Dst, u32Src, pEFlags);
    131131
     132                IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF(pu32Dst);
    132133                IEM_MC_ADVANCE_RIP();
    133134                IEM_MC_END();
     
    328329                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU32, pu32Dst, u32Src, pEFlags);
    329330
     331                IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF(pu32Dst);
    330332                IEM_MC_ADVANCE_RIP();
    331333                IEM_MC_END();
     
    385387                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU32, pu32Dst, u32Src, pEFlags);
    386388
     389                IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF(pu32Dst);
    387390                IEM_MC_ADVANCE_RIP();
    388391                IEM_MC_END();
     
    480483            IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU32, pu32Dst, u32Src, pEFlags);
    481484
     485            IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF(pu32Dst);
    482486            IEM_MC_ADVANCE_RIP();
    483487            IEM_MC_END();
     
    33373341                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU32, pu32Dst, u32Src, pEFlags);
    33383342
     3343                IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF(pu32Dst);
    33393344                IEM_MC_ADVANCE_RIP();
    33403345                IEM_MC_END();
     
    35213526                IEM_MC_CALL_VOID_AIMPL_4(pImpl->pfnNormalU32, pu32Dst, u32Src, cShiftArg, pEFlags);
    35223527
     3528                IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF(pu32Dst);
    35233529                IEM_MC_ADVANCE_RIP();
    35243530                IEM_MC_END();
     
    36673673                IEM_MC_CALL_VOID_AIMPL_4(pImpl->pfnNormalU32, pu32Dst, u32Src, cShiftArg, pEFlags);
    36683674
     3675                IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF(pu32Dst);
    36693676                IEM_MC_ADVANCE_RIP();
    36703677                IEM_MC_END();
     
    45414548                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU32, pu32Dst, u32Src, pEFlags);
    45424549
     4550                IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF(pu32Dst);
    45434551                IEM_MC_ADVANCE_RIP();
    45444552                IEM_MC_END();
     
    49384946                IEM_MC_CALL_VOID_AIMPL_3(iemAImpl_xadd_u32, pu32Dst, pu32Reg, pEFlags);
    49394947
     4948                IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF(pu32Dst);
     4949                IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF(pu32Reg);
    49404950                IEM_MC_ADVANCE_RIP();
    49414951                IEM_MC_END();
     
    62016211            IEM_MC_REF_EFLAGS(pEFlags);
    62026212            IEM_MC_CALL_VOID_AIMPL_2(pImpl->pfnNormalU32, pu32Dst, pEFlags);
     6213            IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF(pu32Dst);
    62036214            IEM_MC_ADVANCE_RIP();
    62046215            IEM_MC_END();
     
    67016712            IEM_MC_REF_GREG_U32(pu32Dst, iReg);
    67026713            IEM_MC_POP_U32(pu32Dst);
     6714            IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF(pu32Dst); /** @todo testcase*/
    67036715            IEM_MC_ADVANCE_RIP();
    67046716            IEM_MC_END();
     
    79147926                IEM_MC_REF_EFLAGS(pEFlags);
    79157927                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU32, pu32Dst, u32Src, pEFlags);
     7928                IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF(pu32Dst);
    79167929
    79177930                IEM_MC_ADVANCE_RIP();
     
    80618074                IEM_MC_REF_EFLAGS(pEFlags);
    80628075                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU32, pu32Dst, u32Src, pEFlags);
     8076                IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF(pu32Dst);
    80638077
    80648078                IEM_MC_ADVANCE_RIP();
     
    83458359                IEM_MC_MEM_COMMIT_AND_UNMAP(pu32Mem, IEM_ACCESS_DATA_RW);
    83468360
     8361                IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF(pu32Reg);
    83478362                IEM_MC_ADVANCE_RIP();
    83488363                IEM_MC_END();
     
    1051410529                IEM_MC_REF_EFLAGS(pEFlags);
    1051510530                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU32, pu32Dst, cShiftArg, pEFlags);
     10531                IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF(pu32Dst);
    1051610532                IEM_MC_ADVANCE_RIP();
    1051710533                IEM_MC_END();
     
    1094110957                IEM_MC_REF_EFLAGS(pEFlags);
    1094210958                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU32, pu32Dst, cShiftArg, pEFlags);
     10959                IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF(pu32Dst);
    1094310960                IEM_MC_ADVANCE_RIP();
    1094410961                IEM_MC_END();
     
    1113211149                IEM_MC_REF_EFLAGS(pEFlags);
    1113311150                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU32, pu32Dst, cShiftArg, pEFlags);
     11151                IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF(pu32Dst);
    1113411152                IEM_MC_ADVANCE_RIP();
    1113511153                IEM_MC_END();
     
    1493914957                IEM_MC_REF_EFLAGS(pEFlags);
    1494014958                IEM_MC_CALL_VOID_AIMPL_3(iemAImpl_test_u32, pu32Dst, u32Src, pEFlags);
     14959                IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF(pu32Dst);
    1494114960                IEM_MC_ADVANCE_RIP();
    1494214961                IEM_MC_END();
     
    1513515154                IEM_MC_CALL_AIMPL_4(rc, pImpl->pfnU32, pu32AX, pu32DX, u32Value, pEFlags);
    1513615155                IEM_MC_IF_LOCAL_IS_Z(rc) {
     15156                    IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF(pu32AX);
     15157                    IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF(pu32DX);
    1513715158                    IEM_MC_ADVANCE_RIP();
    1513815159                } IEM_MC_ELSE() {
     
    1522215243                IEM_MC_CALL_AIMPL_4(rc, pImpl->pfnU32, pu32AX, pu32DX, u32Value, pEFlags);
    1522315244                IEM_MC_IF_LOCAL_IS_Z(rc) {
     15245                    IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF(pu32AX);
     15246                    IEM_MC_CLEAR_HIGH_GREG_U64_BY_REF(pu32DX);
    1522415247                    IEM_MC_ADVANCE_RIP();
    1522515248                } IEM_MC_ELSE() {
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