Changeset 61637 in vbox
- Timestamp:
- Jun 9, 2016 6:49:56 PM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 107985
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstructions.cpp.h
r61623 r61637 1505 1505 /** Opcode 0x0f 0x10. */ 1506 1506 FNIEMOP_STUB(iemOp_movups_Vps_Wps__movupd_Vpd_Wpd__movss_Vss_Wss__movsd_Vsd_Wsd); 1507 1508 1507 1509 /** Opcode 0x0f 0x11. */ 1508 FNIEMOP_STUB(iemOp_movups_Wps_Vps__movupd_Wpd_Vpd__movss_Wss_Vss__movsd_Vsd_Wsd); 1510 FNIEMOP_DEF(iemOp_movups_Wps_Vps__movupd_Wpd_Vpd__movss_Wss_Vss__movsd_Vsd_Wsd) 1511 { 1512 /* Quick hack. Need to restructure all of this later some time. */ 1513 if (pIemCpu->fPrefixes == 0) 1514 { 1515 uint8_t bRm; IEM_OPCODE_GET_NEXT_U8(&bRm); 1516 if ((bRm & X86_MODRM_MOD_MASK) == (3 << X86_MODRM_MOD_SHIFT)) 1517 { 1518 /* 1519 * Register, register. 1520 */ 1521 IEMOP_HLP_DONE_DECODING_NO_LOCK_REPZ_OR_REPNZ_PREFIXES(); 1522 IEM_MC_BEGIN(0, 0); 1523 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 1524 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 1525 IEM_MC_COPY_XREG_U128((bRm & X86_MODRM_RM_MASK) | pIemCpu->uRexB, 1526 ((bRm >> X86_MODRM_REG_SHIFT) & X86_MODRM_REG_SMASK) | pIemCpu->uRexReg); 1527 IEM_MC_ADVANCE_RIP(); 1528 IEM_MC_END(); 1529 } 1530 else 1531 { 1532 /* 1533 * Memory, register. 1534 */ 1535 IEM_MC_BEGIN(0, 2); 1536 IEM_MC_LOCAL(uint128_t, uSrc); /** @todo optimize this one day... */ 1537 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 1538 1539 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 1540 IEMOP_HLP_DONE_DECODING_NO_LOCK_REPZ_OR_REPNZ_PREFIXES(); /** @todo check if this is delayed this long for REPZ/NZ - yes it generally is! */ 1541 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 1542 IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ(); 1543 1544 IEM_MC_FETCH_XREG_U128(uSrc, ((bRm >> X86_MODRM_REG_SHIFT) & X86_MODRM_REG_SMASK) | pIemCpu->uRexReg); 1545 IEM_MC_STORE_MEM_U128(pIemCpu->iEffSeg, GCPtrEffSrc, uSrc); 1546 1547 IEM_MC_ADVANCE_RIP(); 1548 IEM_MC_END(); 1549 } 1550 return VINF_SUCCESS; 1551 } 1552 1553 IEMOP_BITCH_ABOUT_STUB(); 1554 return VERR_IEM_INSTR_NOT_IMPLEMENTED; 1555 } 1556 1557 1509 1558 /** Opcode 0x0f 0x12. */ 1510 1559 FNIEMOP_STUB(iemOp_movlps_Vq_Mq__movhlps_Vq_Uq__movlpd_Vq_Mq__movsldup_Vq_Wq__movddup_Vq_Wq); //NEXT
Note:
See TracChangeset
for help on using the changeset viewer.