VirtualBox

Changeset 53104 in vbox for trunk/src


Ignore:
Timestamp:
Oct 20, 2014 6:39:49 PM (10 years ago)
Author:
vboxsync
Message:

IEM: Added FILD m16.

File:
1 edited

Legend:

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

    r52919 r53104  
    1549115491
    1549215492/** Opcode 0xdf !11/0. */
    15493 FNIEMOP_STUB_1(iemOp_fild_m16i,   uint8_t, bRm);
     15493FNIEMOP_DEF_1(iemOp_fild_m16i, uint8_t, bRm)
     15494{
     15495    IEMOP_MNEMONIC("fild m16i");
     15496
     15497    IEM_MC_BEGIN(2, 3);
     15498    IEM_MC_LOCAL(RTGCPTR,                   GCPtrEffSrc);
     15499    IEM_MC_LOCAL(IEMFPURESULT,              FpuRes);
     15500    IEM_MC_LOCAL(int16_t,                   i16Val);
     15501    IEM_MC_ARG_LOCAL_REF(PIEMFPURESULT,     pFpuRes,    FpuRes, 0);
     15502    IEM_MC_ARG_LOCAL_REF(int16_t const *,   pi16Val,    i16Val, 1);
     15503
     15504    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
     15505    IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     15506
     15507    IEM_MC_MAYBE_RAISE_DEVICE_NOT_AVAILABLE();
     15508    IEM_MC_MAYBE_RAISE_FPU_XCPT();
     15509    IEM_MC_FETCH_MEM_I16(i16Val, pIemCpu->iEffSeg, GCPtrEffSrc);
     15510
     15511    IEM_MC_IF_FPUREG_IS_EMPTY(7)
     15512        IEM_MC_CALL_FPU_AIMPL_2(iemAImpl_fild_i16_to_r80, pFpuRes, pi16Val);
     15513        IEM_MC_PUSH_FPU_RESULT_MEM_OP(FpuRes, pIemCpu->iEffSeg, GCPtrEffSrc);
     15514    IEM_MC_ELSE()
     15515        IEM_MC_FPU_STACK_PUSH_OVERFLOW_MEM_OP(pIemCpu->iEffSeg, GCPtrEffSrc);
     15516    IEM_MC_ENDIF();
     15517    IEM_MC_USED_FPU();
     15518    IEM_MC_ADVANCE_RIP();
     15519
     15520    IEM_MC_END();
     15521    return VINF_SUCCESS;
     15522}
    1549415523
    1549515524
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