VirtualBox

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


Ignore:
Timestamp:
Dec 1, 2011 7:59:05 PM (13 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
75168
Message:

IEM: todo

File:
1 edited

Legend:

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

    r39127 r39497  
    40994099/** Opcode 0x0f 0xc7. */
    41004100FNIEMOP_STUB(iemOp_Grp9);
     4101
     4102#if 0
     4103/**
     4104 * Common 'bswap register' helper.
     4105 */
     4106FNIEMOP_DEF_2(iemOpCommonBswapGReg, PCIEMOPUNARYSIZES, pImpl, uint8_t, iReg)
     4107{
     4108    IEMOP_HLP_NO_LOCK_PREFIX();
     4109    switch (pIemCpu->enmEffOpSize)
     4110    {
     4111        case IEMMODE_16BIT:
     4112            IEM_MC_BEGIN(2, 0);
     4113            IEM_MC_ARG(uint16_t *,  pu16Dst, 0);
     4114            IEM_MC_ARG(uint32_t *,  pEFlags, 1);
     4115            IEM_MC_REF_GREG_U16(pu16Dst, iReg);
     4116            IEM_MC_REF_EFLAGS(pEFlags);
     4117            IEM_MC_CALL_VOID_AIMPL_2(pImpl->pfnNormalU16, pu16Dst, pEFlags);
     4118            IEM_MC_ADVANCE_RIP();
     4119            IEM_MC_END();
     4120            return VINF_SUCCESS;
     4121
     4122        case IEMMODE_32BIT:
     4123            IEM_MC_BEGIN(2, 0);
     4124            IEM_MC_ARG(uint32_t *,  pu32Dst, 0);
     4125            IEM_MC_ARG(uint32_t *,  pEFlags, 1);
     4126            IEM_MC_REF_GREG_U32(pu32Dst, iReg);
     4127            IEM_MC_REF_EFLAGS(pEFlags);
     4128            IEM_MC_CALL_VOID_AIMPL_2(pImpl->pfnNormalU32, pu32Dst, pEFlags);
     4129            IEM_MC_ADVANCE_RIP();
     4130            IEM_MC_END();
     4131            return VINF_SUCCESS;
     4132
     4133        case IEMMODE_64BIT:
     4134            IEM_MC_BEGIN(2, 0);
     4135            IEM_MC_ARG(uint64_t *,  pu64Dst, 0);
     4136            IEM_MC_ARG(uint32_t *,  pEFlags, 1);
     4137            IEM_MC_REF_GREG_U64(pu64Dst, iReg);
     4138            IEM_MC_REF_EFLAGS(pEFlags);
     4139            IEM_MC_CALL_VOID_AIMPL_2(pImpl->pfnNormalU64, pu64Dst, pEFlags);
     4140            IEM_MC_ADVANCE_RIP();
     4141            IEM_MC_END();
     4142            return VINF_SUCCESS;
     4143    }
     4144    return VINF_SUCCESS;
     4145}
     4146
     4147
    41014148/** Opcode 0x0f 0xc8. */
     4149FNIEMOP_DEF(iemOp_bswap_rAX_r8)
     4150{
     4151    IEMOP_MNEMONIC("bswap rAX/r8");
     4152    return FNIEMOP_CALL_2(iemOpCommonUnaryGReg, &g_iemAImpl_inc, X86_GREG_xAX | pIemCpu->uRexReg);
     4153}
     4154
     4155
     4156#else
    41024157FNIEMOP_STUB(iemOp_bswap_rAX_r8);
     4158#endif
    41034159/** Opcode 0x0f 0xc9. */
    41044160FNIEMOP_STUB(iemOp_bswap_rCX_r9);
     
    41154171/** Opcode 0x0f 0xcf. */
    41164172FNIEMOP_STUB(iemOp_bswap_rDI_r15);
     4173
    41174174/** Opcode 0x0f 0xd0. */
    41184175FNIEMOP_STUB(iemOp_addsubpd_Vpd_Wpd__addsubps_Vps_Wps);
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