Changeset 66791 in vbox for trunk/src/VBox/VMM/VMMAll
- Timestamp:
- May 4, 2017 12:29:02 PM (8 years ago)
- svn:sync-xref-src-repo-rev:
- 115203
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsTwoByte0f.cpp.h
r66789 r66791 1993 1993 */ 1994 1994 1995 /** Opcode 0x0f 0x17 - movhpsv1 Mq, Vq */ 1996 FNIEMOP_STUB(iemOp_movhps_Mq_Vq); //NEXT 1995 1996 /** 1997 * @opcode 0x17 1998 * @opcodesub !11 mr/reg 1999 * @oppfx none 2000 * @opcpuid sse 2001 * @opgroup og_sse_simdfp_datamove 2002 * @opxcpttype 5 2003 * @optest op1=1 op2=2 -> op1=2 2004 * @optest op1=0 op2=-42 -> op1=-42 2005 */ 2006 FNIEMOP_DEF(iemOp_movhps_Mq_Vq) 2007 { 2008 uint8_t bRm; IEM_OPCODE_GET_NEXT_U8(&bRm); 2009 if ((bRm & X86_MODRM_MOD_MASK) != (3 << X86_MODRM_MOD_SHIFT)) 2010 { 2011 IEMOP_MNEMONIC2(MR_MEM, MOVHPS, movhps, MqWO, VqHi, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZE); 2012 2013 IEM_MC_BEGIN(0, 2); 2014 IEM_MC_LOCAL(uint64_t, uSrc); 2015 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 2016 2017 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 2018 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 2019 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 2020 IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ(); 2021 2022 IEM_MC_FETCH_XREG_HI_U64(uSrc, ((bRm >> X86_MODRM_REG_SHIFT) & X86_MODRM_REG_SMASK) | pVCpu->iem.s.uRexReg); 2023 IEM_MC_STORE_MEM_U64(pVCpu->iem.s.iEffSeg, GCPtrEffSrc, uSrc); 2024 2025 IEM_MC_ADVANCE_RIP(); 2026 IEM_MC_END(); 2027 return VINF_SUCCESS; 2028 } 2029 2030 /** 2031 * @opdone 2032 * @opmnemonic ud0f17m3 2033 * @opcode 0x17 2034 * @opcodesub 11 mr/reg 2035 * @oppfx none 2036 * @opunused immediate 2037 * @opcpuid sse 2038 * @optest -> 2039 */ 2040 return IEMOP_RAISE_INVALID_OPCODE(); 2041 } 2042 1997 2043 /** Opcode 0x66 0x0f 0x17 - movhpdv1 Mq, Vq */ 1998 2044 FNIEMOP_STUB(iemOp_movhpd_Mq_Vq); //NEXT
Note:
See TracChangeset
for help on using the changeset viewer.