Changeset 104150 in vbox for trunk/src/VBox/VMM/VMMAll/IEMAllInstTwoByte0f.cpp.h
- Timestamp:
- Apr 4, 2024 8:54:42 AM (8 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstTwoByte0f.cpp.h
r104129 r104150 4654 4654 IEM_MC_LOCAL(uint32_t, fEFlags); 4655 4655 IEM_MC_ARG_LOCAL_REF(uint32_t *, pEFlags, fEFlags, 0); 4656 IEM_MC_ARG( PCX86XMMREG, puSrc1,1);4657 IEM_MC_ARG( PCX86XMMREG, puSrc2,2);4656 IEM_MC_ARG(RTFLOAT32U, uSrc1, 1); 4657 IEM_MC_ARG(RTFLOAT32U, uSrc2, 2); 4658 4658 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4659 4659 IEM_MC_PREPARE_SSE_USAGE(); 4660 4660 IEM_MC_FETCH_EFLAGS(fEFlags); 4661 IEM_MC_ REF_XREG_XMM_CONST(puSrc1, IEM_GET_MODRM_REG(pVCpu, bRm));4662 IEM_MC_ REF_XREG_XMM_CONST(puSrc2, IEM_GET_MODRM_RM(pVCpu, bRm));4663 IEM_MC_CALL_SSE_AIMPL_3(iemAImpl_ucomiss_u128, pEFlags, puSrc1, puSrc2);4661 IEM_MC_FETCH_XREG_R32(uSrc1, IEM_GET_MODRM_REG(pVCpu, bRm), 0 /*a_iDWord*/); 4662 IEM_MC_FETCH_XREG_R32(uSrc2, IEM_GET_MODRM_RM(pVCpu, bRm), 0 /*a_iDWord*/); 4663 IEM_MC_CALL_SSE_AIMPL_3(iemAImpl_ucomiss_u128, pEFlags, uSrc1, uSrc2); 4664 4664 IEM_MC_IF_MXCSR_XCPT_PENDING() { 4665 4665 IEM_MC_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT(); … … 4679 4679 IEM_MC_LOCAL(uint32_t, fEFlags); 4680 4680 IEM_MC_ARG_LOCAL_REF(uint32_t *, pEFlags, fEFlags, 0); 4681 IEM_MC_ARG(PCX86XMMREG, puSrc1, 1); 4682 IEM_MC_LOCAL(X86XMMREG, uSrc2); 4683 IEM_MC_ARG_LOCAL_REF(PCX86XMMREG, puSrc2, uSrc2, 2); 4681 IEM_MC_ARG(RTFLOAT32U, uSrc1, 1); 4682 IEM_MC_ARG(RTFLOAT32U, uSrc2, 2); 4684 4683 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 4685 4684 … … 4687 4686 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse); 4688 4687 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4689 IEM_MC_FETCH_MEM_ XMM_U32(uSrc2, 0 /*a_DWord*/, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);4688 IEM_MC_FETCH_MEM_R32(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 4690 4689 4691 4690 IEM_MC_PREPARE_SSE_USAGE(); 4692 4691 IEM_MC_FETCH_EFLAGS(fEFlags); 4693 IEM_MC_ REF_XREG_XMM_CONST(puSrc1, IEM_GET_MODRM_REG(pVCpu, bRm));4694 IEM_MC_CALL_SSE_AIMPL_3(iemAImpl_ucomiss_u128, pEFlags, puSrc1, puSrc2);4692 IEM_MC_FETCH_XREG_R32(uSrc1, IEM_GET_MODRM_REG(pVCpu, bRm), 0 /*a_iDWord*/); 4693 IEM_MC_CALL_SSE_AIMPL_3(iemAImpl_ucomiss_u128, pEFlags, uSrc1, uSrc2); 4695 4694 IEM_MC_IF_MXCSR_XCPT_PENDING() { 4696 4695 IEM_MC_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT(); … … 4724 4723 IEM_MC_LOCAL(uint32_t, fEFlags); 4725 4724 IEM_MC_ARG_LOCAL_REF(uint32_t *, pEFlags, fEFlags, 0); 4726 IEM_MC_ARG( PCX86XMMREG, puSrc1, 1);4727 IEM_MC_ARG( PCX86XMMREG, puSrc2,2);4725 IEM_MC_ARG(RTFLOAT64U, uSrc1, 1); 4726 IEM_MC_ARG(RTFLOAT64U, uSrc2, 2); 4728 4727 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4729 4728 IEM_MC_PREPARE_SSE_USAGE(); 4730 4729 IEM_MC_FETCH_EFLAGS(fEFlags); 4731 IEM_MC_ REF_XREG_XMM_CONST(puSrc1, IEM_GET_MODRM_REG(pVCpu, bRm));4732 IEM_MC_ REF_XREG_XMM_CONST(puSrc2, IEM_GET_MODRM_RM(pVCpu, bRm));4733 IEM_MC_CALL_SSE_AIMPL_3(iemAImpl_ucomisd_u128, pEFlags, puSrc1, puSrc2);4730 IEM_MC_FETCH_XREG_R64(uSrc1, IEM_GET_MODRM_REG(pVCpu, bRm), 0 /*a_iQWord*/); 4731 IEM_MC_FETCH_XREG_R64(uSrc2, IEM_GET_MODRM_RM(pVCpu, bRm), 0 /*a_iQWord*/); 4732 IEM_MC_CALL_SSE_AIMPL_3(iemAImpl_ucomisd_u128, pEFlags, uSrc1, uSrc2); 4734 4733 IEM_MC_IF_MXCSR_XCPT_PENDING() { 4735 4734 IEM_MC_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT(); … … 4749 4748 IEM_MC_LOCAL(uint32_t, fEFlags); 4750 4749 IEM_MC_ARG_LOCAL_REF(uint32_t *, pEFlags, fEFlags, 0); 4751 IEM_MC_ARG(PCX86XMMREG, puSrc1, 1); 4752 IEM_MC_LOCAL(X86XMMREG, uSrc2); 4753 IEM_MC_ARG_LOCAL_REF(PCX86XMMREG, puSrc2, uSrc2, 2); 4750 IEM_MC_ARG(RTFLOAT64U, uSrc1, 1); 4751 IEM_MC_ARG(RTFLOAT64U, uSrc2, 2); 4754 4752 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 4755 4753 … … 4757 4755 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 4758 4756 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4759 IEM_MC_FETCH_MEM_ XMM_U64(uSrc2, 0 /*a_QWord*/, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);4757 IEM_MC_FETCH_MEM_R64(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 4760 4758 4761 4759 IEM_MC_PREPARE_SSE_USAGE(); 4762 4760 IEM_MC_FETCH_EFLAGS(fEFlags); 4763 IEM_MC_ REF_XREG_XMM_CONST(puSrc1, IEM_GET_MODRM_REG(pVCpu, bRm));4764 IEM_MC_CALL_SSE_AIMPL_3(iemAImpl_ucomisd_u128, pEFlags, puSrc1, puSrc2);4761 IEM_MC_FETCH_XREG_R64(uSrc1, IEM_GET_MODRM_REG(pVCpu, bRm), 0 /*a_iQWord*/); 4762 IEM_MC_CALL_SSE_AIMPL_3(iemAImpl_ucomisd_u128, pEFlags, uSrc1, uSrc2); 4765 4763 IEM_MC_IF_MXCSR_XCPT_PENDING() { 4766 4764 IEM_MC_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT(); … … 4798 4796 IEM_MC_LOCAL(uint32_t, fEFlags); 4799 4797 IEM_MC_ARG_LOCAL_REF(uint32_t *, pEFlags, fEFlags, 0); 4800 IEM_MC_ARG( PCX86XMMREG, puSrc1,1);4801 IEM_MC_ARG( PCX86XMMREG, puSrc2,2);4798 IEM_MC_ARG(RTFLOAT32U, uSrc1, 1); 4799 IEM_MC_ARG(RTFLOAT32U, uSrc2, 2); 4802 4800 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4803 4801 IEM_MC_PREPARE_SSE_USAGE(); 4804 4802 IEM_MC_FETCH_EFLAGS(fEFlags); 4805 IEM_MC_ REF_XREG_XMM_CONST(puSrc1, IEM_GET_MODRM_REG(pVCpu, bRm));4806 IEM_MC_ REF_XREG_XMM_CONST(puSrc2, IEM_GET_MODRM_RM(pVCpu, bRm));4807 IEM_MC_CALL_SSE_AIMPL_3(iemAImpl_comiss_u128, pEFlags, puSrc1, puSrc2);4803 IEM_MC_FETCH_XREG_R32(uSrc1, IEM_GET_MODRM_REG(pVCpu, bRm), 0 /*a_iDWord*/); 4804 IEM_MC_FETCH_XREG_R32(uSrc2, IEM_GET_MODRM_RM(pVCpu, bRm), 0 /*a_iDWord*/); 4805 IEM_MC_CALL_SSE_AIMPL_3(iemAImpl_comiss_u128, pEFlags, uSrc1, uSrc2); 4808 4806 IEM_MC_IF_MXCSR_XCPT_PENDING() { 4809 4807 IEM_MC_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT(); … … 4823 4821 IEM_MC_LOCAL(uint32_t, fEFlags); 4824 4822 IEM_MC_ARG_LOCAL_REF(uint32_t *, pEFlags, fEFlags, 0); 4825 IEM_MC_ARG(PCX86XMMREG, puSrc1, 1); 4826 IEM_MC_LOCAL(X86XMMREG, uSrc2); 4827 IEM_MC_ARG_LOCAL_REF(PCX86XMMREG, puSrc2, uSrc2, 2); 4823 IEM_MC_ARG(RTFLOAT32U, uSrc1, 1); 4824 IEM_MC_ARG(RTFLOAT32U, uSrc2, 2); 4828 4825 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 4829 4826 … … 4831 4828 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse); 4832 4829 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4833 IEM_MC_FETCH_MEM_ XMM_U32(uSrc2, 0 /*a_DWord*/, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);4830 IEM_MC_FETCH_MEM_R32(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 4834 4831 4835 4832 IEM_MC_PREPARE_SSE_USAGE(); 4836 4833 IEM_MC_FETCH_EFLAGS(fEFlags); 4837 IEM_MC_ REF_XREG_XMM_CONST(puSrc1, IEM_GET_MODRM_REG(pVCpu, bRm));4838 IEM_MC_CALL_SSE_AIMPL_3(iemAImpl_comiss_u128, pEFlags, puSrc1, puSrc2);4834 IEM_MC_FETCH_XREG_R32(uSrc1, IEM_GET_MODRM_REG(pVCpu, bRm), 0 /*a_iDWord*/); 4835 IEM_MC_CALL_SSE_AIMPL_3(iemAImpl_comiss_u128, pEFlags, uSrc1, uSrc2); 4839 4836 IEM_MC_IF_MXCSR_XCPT_PENDING() { 4840 4837 IEM_MC_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT(); … … 4868 4865 IEM_MC_LOCAL(uint32_t, fEFlags); 4869 4866 IEM_MC_ARG_LOCAL_REF(uint32_t *, pEFlags, fEFlags, 0); 4870 IEM_MC_ARG( PCX86XMMREG, puSrc1,1);4871 IEM_MC_ARG( PCX86XMMREG, puSrc2,2);4867 IEM_MC_ARG(RTFLOAT64U, uSrc1, 1); 4868 IEM_MC_ARG(RTFLOAT64U, uSrc2, 2); 4872 4869 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4873 4870 IEM_MC_PREPARE_SSE_USAGE(); 4874 4871 IEM_MC_FETCH_EFLAGS(fEFlags); 4875 IEM_MC_ REF_XREG_XMM_CONST(puSrc1, IEM_GET_MODRM_REG(pVCpu, bRm));4876 IEM_MC_ REF_XREG_XMM_CONST(puSrc2, IEM_GET_MODRM_RM(pVCpu, bRm));4877 IEM_MC_CALL_SSE_AIMPL_3(iemAImpl_comisd_u128, pEFlags, puSrc1, puSrc2);4872 IEM_MC_FETCH_XREG_R64(uSrc1, IEM_GET_MODRM_REG(pVCpu, bRm), 0 /*a_iQWord*/); 4873 IEM_MC_FETCH_XREG_R64(uSrc2, IEM_GET_MODRM_RM(pVCpu, bRm), 0 /*a_iQWord*/); 4874 IEM_MC_CALL_SSE_AIMPL_3(iemAImpl_comisd_u128, pEFlags, uSrc1, uSrc2); 4878 4875 IEM_MC_IF_MXCSR_XCPT_PENDING() { 4879 4876 IEM_MC_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT(); … … 4893 4890 IEM_MC_LOCAL(uint32_t, fEFlags); 4894 4891 IEM_MC_ARG_LOCAL_REF(uint32_t *, pEFlags, fEFlags, 0); 4895 IEM_MC_ARG(PCX86XMMREG, puSrc1, 1); 4896 IEM_MC_LOCAL(X86XMMREG, uSrc2); 4897 IEM_MC_ARG_LOCAL_REF(PCX86XMMREG, puSrc2, uSrc2, 2); 4892 IEM_MC_ARG(RTFLOAT64U, uSrc1, 1); 4893 IEM_MC_ARG(RTFLOAT64U, uSrc2, 2); 4898 4894 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 4899 4895 … … 4901 4897 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 4902 4898 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4903 IEM_MC_FETCH_MEM_ XMM_U64(uSrc2, 0 /*a_QWord*/, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);4899 IEM_MC_FETCH_MEM_R64(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 4904 4900 4905 4901 IEM_MC_PREPARE_SSE_USAGE(); 4906 4902 IEM_MC_FETCH_EFLAGS(fEFlags); 4907 IEM_MC_ REF_XREG_XMM_CONST(puSrc1, IEM_GET_MODRM_REG(pVCpu, bRm));4908 IEM_MC_CALL_SSE_AIMPL_3(iemAImpl_comisd_u128, pEFlags, puSrc1, puSrc2);4903 IEM_MC_FETCH_XREG_R64(uSrc1, IEM_GET_MODRM_REG(pVCpu, bRm), 0 /*a_iQWord*/); 4904 IEM_MC_CALL_SSE_AIMPL_3(iemAImpl_comisd_u128, pEFlags, uSrc1, uSrc2); 4909 4905 IEM_MC_IF_MXCSR_XCPT_PENDING() { 4910 4906 IEM_MC_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT();
Note:
See TracChangeset
for help on using the changeset viewer.