Changeset 67008 in vbox
- Timestamp:
- May 22, 2017 11:56:11 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsTwoByte0f.cpp.h
r67007 r67008 3569 3569 * @oppfx 0x66 3570 3570 * @opcpuid sse2 3571 * @opgroup og_sse2_simdint_datamov 3571 * @opgroup og_sse2_simdint_datamove 3572 3572 * @opxcpttype 5 3573 3573 * @optest 64-bit / op1=1 op2=2 -> op1=2 … … 3618 3618 * @oppfx 0x66 3619 3619 * @opcpuid sse2 3620 * @opgroup og_sse2_simdint_datamov 3620 * @opgroup og_sse2_simdint_datamove 3621 3621 * @opxcpttype 5 3622 3622 * @opfunction iemOp_movd_q_Vy_Ey … … 3669 3669 * @opcode 0x6f 3670 3670 * @oppfx none 3671 * @opcpuid sse23671 * @opcpuid mmx 3672 3672 * @opgroup og_mmx_datamove 3673 3673 * @opxcpttype 5 3674 3674 * @optest op1=1 op2=2 -> op1=2 ftw=0xff 3675 3675 * @optest op1=0 op2=-42 -> op1=-42 ftw=0xff 3676 * @oponly3677 3676 */ 3678 3677 FNIEMOP_DEF(iemOp_movq_Pq_Qq) 3679 3678 { 3680 uint8_t bRm; IEM_OPCODE_GET_NEXT_U8(&bRm);3681 3679 IEMOP_MNEMONIC2(RM, MOVD, movd, Pq_WO, Qq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 3680 uint8_t bRm; IEM_OPCODE_GET_NEXT_U8(&bRm); 3682 3681 if ((bRm & X86_MODRM_MOD_MASK) == (3 << X86_MODRM_MOD_SHIFT)) 3683 3682 { … … 3723 3722 } 3724 3723 3725 /** Opcode 0x66 0x0f 0x6f - movdqa Vx, Wx */ 3726 FNIEMOP_DEF(iemOp_movdqa_Vx_Wx) 3727 { 3728 uint8_t bRm; IEM_OPCODE_GET_NEXT_U8(&bRm); 3729 IEMOP_MNEMONIC(movdqa_Vdq_Wdq, "movdqa Vdq,Wdq"); 3724 /** 3725 * @opcode 0x6f 3726 * @oppfx 0x66 3727 * @opcpuid sse2 3728 * @opgroup og_sse2_simdint_datamove 3729 * @opxcpttype 1 3730 * @optest op1=1 op2=2 -> op1=2 3731 * @optest op1=0 op2=-42 -> op1=-42 3732 */ 3733 FNIEMOP_DEF(iemOp_movdqa_Vdq_Wdq) 3734 { 3735 IEMOP_MNEMONIC2(RM, MOVDQA, movdqa, Vdq_WO, Wdq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 3736 uint8_t bRm; IEM_OPCODE_GET_NEXT_U8(&bRm); 3730 3737 if ((bRm & X86_MODRM_MOD_MASK) == (3 << X86_MODRM_MOD_SHIFT)) 3731 3738 { … … 3735 3742 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 3736 3743 IEM_MC_BEGIN(0, 0); 3744 3737 3745 IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT(); 3738 3746 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 3747 3739 3748 IEM_MC_COPY_XREG_U128(((bRm >> X86_MODRM_REG_SHIFT) & X86_MODRM_REG_SMASK) | pVCpu->iem.s.uRexReg, 3740 3749 (bRm & X86_MODRM_RM_MASK) | pVCpu->iem.s.uRexB); … … 3755 3764 IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT(); 3756 3765 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 3766 3757 3767 IEM_MC_FETCH_MEM_U128_ALIGN_SSE(u128Tmp, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 3758 3768 IEM_MC_STORE_XREG_U128(((bRm >> X86_MODRM_REG_SHIFT) & X86_MODRM_REG_SMASK) | pVCpu->iem.s.uRexReg, u128Tmp); … … 9185 9195 /* 0x6d */ iemOp_InvalidNeedRM, iemOp_punpckhqdq_Vx_W, iemOp_InvalidNeedRM, iemOp_InvalidNeedRM, 9186 9196 /* 0x6e */ iemOp_movd_q_Pd_Ey, iemOp_movd_q_Vy_Ey, iemOp_InvalidNeedRM, iemOp_InvalidNeedRM, 9187 /* 0x6f */ iemOp_movq_Pq_Qq, iemOp_movdqa_V x_Wx,iemOp_movdqu_Vx_Wx, iemOp_InvalidNeedRM,9197 /* 0x6f */ iemOp_movq_Pq_Qq, iemOp_movdqa_Vdq_Wdq, iemOp_movdqu_Vx_Wx, iemOp_InvalidNeedRM, 9188 9198 9189 9199 /* 0x70 */ iemOp_pshufw_Pq_Qq_Ib, iemOp_pshufd_Vx_Wx_Ib, iemOp_pshufhw_Vx_Wx_Ib, iemOp_pshuflw_Vx_Wx_Ib,
Note:
See TracChangeset
for help on using the changeset viewer.