Changeset 104156 in vbox for trunk/src/VBox/VMM/VMMAll/IEMAllInstTwoByte0f.cpp.h
- Timestamp:
- Apr 4, 2024 12:05:54 PM (12 months ago)
- svn:sync-xref-src-repo-rev:
- 162579
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstTwoByte0f.cpp.h
r104150 r104156 11811 11811 IEM_MC_LOCAL(IEMMEDIAF2XMMSRC, Src); 11812 11812 IEM_MC_LOCAL(X86XMMREG, Dst); 11813 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); 11814 IEM_MC_ARG_LOCAL_REF(PX86XMMREG, pDst, Dst, 1); 11815 IEM_MC_ARG_LOCAL_REF(PCIEMMEDIAF2XMMSRC, pSrc, Src, 2); 11816 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 3); 11813 IEM_MC_ARG_LOCAL_REF(PX86XMMREG, pDst, Dst, 0); 11814 IEM_MC_ARG_LOCAL_REF(PCIEMMEDIAF2XMMSRC, pSrc, Src, 1); 11815 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 2); 11817 11816 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 11818 11817 IEM_MC_PREPARE_SSE_USAGE(); 11819 IEM_MC_REF_MXCSR(pfMxcsr);11820 11818 IEM_MC_FETCH_XREG_PAIR_XMM(Src, IEM_GET_MODRM_REG(pVCpu, bRm), IEM_GET_MODRM_RM(pVCpu, bRm)); 11821 IEM_MC_CALL_ VOID_AIMPL_4(iemAImpl_cmpps_u128, pfMxcsr, pDst, pSrc, bImmArg);11819 IEM_MC_CALL_SSE_AIMPL_3(iemAImpl_cmpps_u128, pDst, pSrc, bImmArg); 11822 11820 IEM_MC_IF_MXCSR_XCPT_PENDING() { 11823 11821 IEM_MC_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT(); … … 11837 11835 IEM_MC_LOCAL(IEMMEDIAF2XMMSRC, Src); 11838 11836 IEM_MC_LOCAL(X86XMMREG, Dst); 11839 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); 11840 IEM_MC_ARG_LOCAL_REF(PX86XMMREG, pDst, Dst, 1); 11841 IEM_MC_ARG_LOCAL_REF(PCIEMMEDIAF2XMMSRC, pSrc, Src, 2); 11837 IEM_MC_ARG_LOCAL_REF(PX86XMMREG, pDst, Dst, 0); 11838 IEM_MC_ARG_LOCAL_REF(PCIEMMEDIAF2XMMSRC, pSrc, Src, 1); 11842 11839 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 11843 11840 11844 11841 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 1); 11845 11842 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 11846 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 3);11843 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 2); 11847 11844 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse); 11848 11845 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); … … 11850 11847 11851 11848 IEM_MC_FETCH_MEM_XMM_ALIGN_SSE_AND_XREG_XMM(Src, IEM_GET_MODRM_REG(pVCpu, bRm), pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 11852 IEM_MC_REF_MXCSR(pfMxcsr); 11853 IEM_MC_CALL_VOID_AIMPL_4(iemAImpl_cmpps_u128, pfMxcsr, pDst, pSrc, bImmArg); 11849 IEM_MC_CALL_SSE_AIMPL_3(iemAImpl_cmpps_u128, pDst, pSrc, bImmArg); 11854 11850 IEM_MC_IF_MXCSR_XCPT_PENDING() { 11855 11851 IEM_MC_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT(); … … 11880 11876 IEM_MC_LOCAL(IEMMEDIAF2XMMSRC, Src); 11881 11877 IEM_MC_LOCAL(X86XMMREG, Dst); 11882 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); 11883 IEM_MC_ARG_LOCAL_REF(PX86XMMREG, pDst, Dst, 1); 11884 IEM_MC_ARG_LOCAL_REF(PCIEMMEDIAF2XMMSRC, pSrc, Src, 2); 11885 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 3); 11878 IEM_MC_ARG_LOCAL_REF(PX86XMMREG, pDst, Dst, 0); 11879 IEM_MC_ARG_LOCAL_REF(PCIEMMEDIAF2XMMSRC, pSrc, Src, 1); 11880 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 2); 11886 11881 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 11887 11882 IEM_MC_PREPARE_SSE_USAGE(); 11888 IEM_MC_REF_MXCSR(pfMxcsr);11889 11883 IEM_MC_FETCH_XREG_PAIR_XMM(Src, IEM_GET_MODRM_REG(pVCpu, bRm), IEM_GET_MODRM_RM(pVCpu, bRm)); 11890 IEM_MC_CALL_ VOID_AIMPL_4(iemAImpl_cmppd_u128, pfMxcsr, pDst, pSrc, bImmArg);11884 IEM_MC_CALL_SSE_AIMPL_3(iemAImpl_cmppd_u128, pDst, pSrc, bImmArg); 11891 11885 IEM_MC_IF_MXCSR_XCPT_PENDING() { 11892 11886 IEM_MC_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT(); … … 11906 11900 IEM_MC_LOCAL(IEMMEDIAF2XMMSRC, Src); 11907 11901 IEM_MC_LOCAL(X86XMMREG, Dst); 11908 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); 11909 IEM_MC_ARG_LOCAL_REF(PX86XMMREG, pDst, Dst, 1); 11910 IEM_MC_ARG_LOCAL_REF(PCIEMMEDIAF2XMMSRC, pSrc, Src, 2); 11902 IEM_MC_ARG_LOCAL_REF(PX86XMMREG, pDst, Dst, 0); 11903 IEM_MC_ARG_LOCAL_REF(PCIEMMEDIAF2XMMSRC, pSrc, Src, 1); 11911 11904 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 11912 11905 11913 11906 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 1); 11914 11907 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 11915 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 3);11908 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 2); 11916 11909 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 11917 11910 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 11918 11911 IEM_MC_PREPARE_SSE_USAGE(); 11919 11912 11920 IEM_MC_REF_MXCSR(pfMxcsr);11921 11913 IEM_MC_FETCH_MEM_XMM_ALIGN_SSE_AND_XREG_XMM(Src, IEM_GET_MODRM_REG(pVCpu, bRm), pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 11922 IEM_MC_CALL_ VOID_AIMPL_4(iemAImpl_cmppd_u128, pfMxcsr, pDst, pSrc, bImmArg);11914 IEM_MC_CALL_SSE_AIMPL_3(iemAImpl_cmppd_u128, pDst, pSrc, bImmArg); 11923 11915 IEM_MC_IF_MXCSR_XCPT_PENDING() { 11924 11916 IEM_MC_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT(); … … 11949 11941 IEM_MC_LOCAL(IEMMEDIAF2XMMSRC, Src); 11950 11942 IEM_MC_LOCAL(X86XMMREG, Dst); 11951 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); 11952 IEM_MC_ARG_LOCAL_REF(PX86XMMREG, pDst, Dst, 1); 11953 IEM_MC_ARG_LOCAL_REF(PCIEMMEDIAF2XMMSRC, pSrc, Src, 2); 11954 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 3); 11943 IEM_MC_ARG_LOCAL_REF(PX86XMMREG, pDst, Dst, 0); 11944 IEM_MC_ARG_LOCAL_REF(PCIEMMEDIAF2XMMSRC, pSrc, Src, 1); 11945 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 2); 11955 11946 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 11956 11947 IEM_MC_PREPARE_SSE_USAGE(); 11957 IEM_MC_REF_MXCSR(pfMxcsr);11958 11948 IEM_MC_FETCH_XREG_PAIR_XMM(Src, IEM_GET_MODRM_REG(pVCpu, bRm), IEM_GET_MODRM_RM(pVCpu, bRm)); 11959 IEM_MC_CALL_ VOID_AIMPL_4(iemAImpl_cmpss_u128, pfMxcsr, pDst, pSrc, bImmArg);11949 IEM_MC_CALL_SSE_AIMPL_3(iemAImpl_cmpss_u128, pDst, pSrc, bImmArg); 11960 11950 IEM_MC_IF_MXCSR_XCPT_PENDING() { 11961 11951 IEM_MC_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT(); … … 11975 11965 IEM_MC_LOCAL(IEMMEDIAF2XMMSRC, Src); 11976 11966 IEM_MC_LOCAL(X86XMMREG, Dst); 11977 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); 11978 IEM_MC_ARG_LOCAL_REF(PX86XMMREG, pDst, Dst, 1); 11979 IEM_MC_ARG_LOCAL_REF(PCIEMMEDIAF2XMMSRC, pSrc, Src, 2); 11967 IEM_MC_ARG_LOCAL_REF(PX86XMMREG, pDst, Dst, 0); 11968 IEM_MC_ARG_LOCAL_REF(PCIEMMEDIAF2XMMSRC, pSrc, Src, 1); 11980 11969 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 11981 11970 11982 11971 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 1); 11983 11972 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 11984 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 3);11973 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 2); 11985 11974 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 11986 11975 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); … … 11989 11978 IEM_MC_FETCH_MEM_XMM_U32_AND_XREG_XMM(Src, IEM_GET_MODRM_REG(pVCpu, bRm), 11990 11979 0 /*a_iDword*/, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 11991 IEM_MC_REF_MXCSR(pfMxcsr); 11992 IEM_MC_CALL_VOID_AIMPL_4(iemAImpl_cmpss_u128, pfMxcsr, pDst, pSrc, bImmArg); 11980 IEM_MC_CALL_SSE_AIMPL_3(iemAImpl_cmpss_u128, pDst, pSrc, bImmArg); 11993 11981 IEM_MC_IF_MXCSR_XCPT_PENDING() { 11994 11982 IEM_MC_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT(); … … 12019 12007 IEM_MC_LOCAL(IEMMEDIAF2XMMSRC, Src); 12020 12008 IEM_MC_LOCAL(X86XMMREG, Dst); 12021 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); 12022 IEM_MC_ARG_LOCAL_REF(PX86XMMREG, pDst, Dst, 1); 12023 IEM_MC_ARG_LOCAL_REF(PCIEMMEDIAF2XMMSRC, pSrc, Src, 2); 12024 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 3); 12009 IEM_MC_ARG_LOCAL_REF(PX86XMMREG, pDst, Dst, 0); 12010 IEM_MC_ARG_LOCAL_REF(PCIEMMEDIAF2XMMSRC, pSrc, Src, 1); 12011 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 2); 12025 12012 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 12026 12013 IEM_MC_PREPARE_SSE_USAGE(); 12027 IEM_MC_REF_MXCSR(pfMxcsr);12028 12014 IEM_MC_FETCH_XREG_PAIR_XMM(Src, IEM_GET_MODRM_REG(pVCpu, bRm), IEM_GET_MODRM_RM(pVCpu, bRm)); 12029 IEM_MC_CALL_ VOID_AIMPL_4(iemAImpl_cmpsd_u128, pfMxcsr, pDst, pSrc, bImmArg);12015 IEM_MC_CALL_SSE_AIMPL_3(iemAImpl_cmpsd_u128, pDst, pSrc, bImmArg); 12030 12016 IEM_MC_IF_MXCSR_XCPT_PENDING() { 12031 12017 IEM_MC_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT(); … … 12045 12031 IEM_MC_LOCAL(IEMMEDIAF2XMMSRC, Src); 12046 12032 IEM_MC_LOCAL(X86XMMREG, Dst); 12047 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); 12048 IEM_MC_ARG_LOCAL_REF(PX86XMMREG, pDst, Dst, 1); 12049 IEM_MC_ARG_LOCAL_REF(PCIEMMEDIAF2XMMSRC, pSrc, Src, 2); 12033 IEM_MC_ARG_LOCAL_REF(PX86XMMREG, pDst, Dst, 0); 12034 IEM_MC_ARG_LOCAL_REF(PCIEMMEDIAF2XMMSRC, pSrc, Src, 1); 12050 12035 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 12051 12036 12052 12037 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 1); 12053 12038 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 12054 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 3);12039 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 2); 12055 12040 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 12056 12041 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 12057 12042 IEM_MC_PREPARE_SSE_USAGE(); 12058 12043 12059 IEM_MC_REF_MXCSR(pfMxcsr);12060 12044 IEM_MC_FETCH_MEM_XMM_U64_AND_XREG_XMM(Src, IEM_GET_MODRM_REG(pVCpu, bRm), 12061 12045 0 /*a_iQword */, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 12062 IEM_MC_CALL_ VOID_AIMPL_4(iemAImpl_cmpsd_u128, pfMxcsr, pDst, pSrc, bImmArg);12046 IEM_MC_CALL_SSE_AIMPL_3(iemAImpl_cmpsd_u128, pDst, pSrc, bImmArg); 12063 12047 IEM_MC_IF_MXCSR_XCPT_PENDING() { 12064 12048 IEM_MC_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT();
Note:
See TracChangeset
for help on using the changeset viewer.