Changeset 108288 in vbox for trunk/src/VBox/VMM/VMMAll/target-x86/IEMAllInstVexMap2-x86.cpp.h
- Timestamp:
- Feb 19, 2025 12:02:33 PM (4 weeks ago)
- svn:sync-xref-src-repo-rev:
- 167631
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/target-x86/IEMAllInstVexMap2-x86.cpp.h
r108267 r108288 81 81 IEM_MC_LOCAL(RTUINT128U, uSrc2); 82 82 IEM_MC_ARG_LOCAL_REF(PCRTUINT128U, puSrc2, uSrc2, 2); 83 IEM_MC_FETCH_MEM_ U128_NO_AC(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);83 IEM_MC_FETCH_MEM_SEG_U128_NO_AC(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 84 84 IEM_MC_ARG(PCRTUINT128U, puSrc1, 1); 85 85 IEM_MC_REF_XREG_U128_CONST(puSrc1, IEM_GET_EFFECTIVE_VVVV(pVCpu)); … … 338 338 IEM_MC_MAYBE_RAISE_AVX_RELATED_XCPT(); \ 339 339 IEM_MC_PREPARE_AVX_USAGE(); \ 340 IEM_MC_FETCH_MEM_ U256_NO_AC(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); \340 IEM_MC_FETCH_MEM_SEG_U256_NO_AC(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); \ 341 341 IEM_MC_FETCH_YREG_U256(uSrc1, IEM_GET_MODRM_REG(pVCpu, bRm)); \ 342 342 IEM_MC_REF_EFLAGS(pEFlags); \ … … 359 359 IEM_MC_MAYBE_RAISE_AVX_RELATED_XCPT(); \ 360 360 IEM_MC_PREPARE_AVX_USAGE(); \ 361 IEM_MC_FETCH_MEM_ U128_NO_AC(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); \361 IEM_MC_FETCH_MEM_SEG_U128_NO_AC(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); \ 362 362 IEM_MC_REF_XREG_U128_CONST(puSrc1, IEM_GET_MODRM_REG(pVCpu, bRm)); \ 363 363 IEM_MC_REF_EFLAGS(pEFlags); \ … … 464 464 IEM_MC_LOCAL(RTUINT256U, uSrc2); 465 465 IEM_MC_ARG_LOCAL_REF(PCRTUINT256U, puSrc2, uSrc2, 2); 466 IEM_MC_FETCH_MEM_ U256_NO_AC(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);466 IEM_MC_FETCH_MEM_SEG_U256_NO_AC(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 467 467 IEM_MC_LOCAL(RTUINT256U, uSrc1); 468 468 IEM_MC_ARG_LOCAL_REF(PCRTUINT256U, puSrc1, uSrc1, 1); … … 552 552 IEM_MC_PREPARE_AVX_USAGE(); 553 553 554 IEM_MC_FETCH_MEM_ U256_NO_AC(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);554 IEM_MC_FETCH_MEM_SEG_U256_NO_AC(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 555 555 IEM_MC_FETCH_YREG_U256(uSrc1, IEM_GET_MODRM_REG(pVCpu, bRm)); 556 556 IEM_MC_REF_EFLAGS(pEFlags); … … 575 575 IEM_MC_PREPARE_AVX_USAGE(); 576 576 577 IEM_MC_FETCH_MEM_ U128_NO_AC(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);577 IEM_MC_FETCH_MEM_SEG_U128_NO_AC(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 578 578 IEM_MC_REF_XREG_U128_CONST(puSrc1, IEM_GET_MODRM_REG(pVCpu, bRm)); 579 579 IEM_MC_REF_EFLAGS(pEFlags); … … 646 646 IEM_MC_PREPARE_AVX_USAGE(); 647 647 648 IEM_MC_FETCH_MEM_ U32(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);648 IEM_MC_FETCH_MEM_SEG_U32(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 649 649 IEM_MC_BROADCAST_YREG_U32_ZX_VLMAX(IEM_GET_MODRM_REG(pVCpu, bRm), uSrc); 650 650 … … 663 663 IEM_MC_PREPARE_AVX_USAGE(); 664 664 665 IEM_MC_FETCH_MEM_ U32(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);665 IEM_MC_FETCH_MEM_SEG_U32(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 666 666 IEM_MC_BROADCAST_XREG_U32_ZX_VLMAX(IEM_GET_MODRM_REG(pVCpu, bRm), uSrc); 667 667 … … 730 730 IEM_MC_PREPARE_AVX_USAGE(); 731 731 732 IEM_MC_FETCH_MEM_ U64(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);732 IEM_MC_FETCH_MEM_SEG_U64(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 733 733 IEM_MC_BROADCAST_YREG_U64_ZX_VLMAX(IEM_GET_MODRM_REG(pVCpu, bRm), uSrc); 734 734 … … 768 768 IEM_MC_PREPARE_AVX_USAGE(); 769 769 770 IEM_MC_FETCH_MEM_ U128_NO_AC(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);770 IEM_MC_FETCH_MEM_SEG_U128_NO_AC(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 771 771 IEM_MC_BROADCAST_YREG_U128_ZX_VLMAX(IEM_GET_MODRM_REG(pVCpu, bRm), uSrc); 772 772 … … 896 896 IEM_MC_MAYBE_RAISE_AVX_RELATED_XCPT(); \ 897 897 IEM_MC_PREPARE_AVX_USAGE(); \ 898 IEM_MC_FETCH_MEM_ U ## a_SrcWidth (uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); \898 IEM_MC_FETCH_MEM_SEG_U ## a_SrcWidth (uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); \ 899 899 IEM_MC_REF_XREG_U128(puDst, IEM_GET_MODRM_REG(pVCpu, bRm)); \ 900 900 IEM_MC_CALL_VOID_AIMPL_2(IEM_SELECT_HOST_OR_FALLBACK(fAvx2, iemAImpl_ ## a_Instr ## _u128, \ … … 913 913 /** @todo r=aeichner Review code, the naming of this function and the parameter type specifiers. */ 914 914 IEMOP_MNEMONIC2(VEX_RM, VPMOVSXBW, vpmovsxbw, Vx, Wq, DISOPTYPE_HARMLESS, 0); 915 IEMOP_BODY_VPMOV_S_Z(vpmovsxbw, 64, IEM_MC_FETCH_MEM_ U128_NO_AC);915 IEMOP_BODY_VPMOV_S_Z(vpmovsxbw, 64, IEM_MC_FETCH_MEM_SEG_U128_NO_AC); 916 916 } 917 917 … … 922 922 /** @todo r=aeichner Review code, the naming of this function and the parameter type specifiers. */ 923 923 IEMOP_MNEMONIC2(VEX_RM, VPMOVSXBD, vpmovsxbd, Vx, Wq, DISOPTYPE_HARMLESS, 0); 924 IEMOP_BODY_VPMOV_S_Z(vpmovsxbd, 32, IEM_MC_FETCH_MEM_ U128);924 IEMOP_BODY_VPMOV_S_Z(vpmovsxbd, 32, IEM_MC_FETCH_MEM_SEG_U128); 925 925 } 926 926 … … 931 931 /** @todo r=aeichner Review code, the naming of this function and the parameter type specifiers. */ 932 932 IEMOP_MNEMONIC2(VEX_RM, VPMOVSXBQ, vpmovsxbq, Vx, Wq, DISOPTYPE_HARMLESS, 0); 933 IEMOP_BODY_VPMOV_S_Z(vpmovsxbq, 16, IEM_MC_FETCH_MEM_ U128);933 IEMOP_BODY_VPMOV_S_Z(vpmovsxbq, 16, IEM_MC_FETCH_MEM_SEG_U128); 934 934 } 935 935 … … 940 940 /** @todo r=aeichner Review code, the naming of this function and the parameter type specifiers. */ 941 941 IEMOP_MNEMONIC2(VEX_RM, VPMOVSXWD, vpmovsxwd, Vx, Wq, DISOPTYPE_HARMLESS, 0); 942 IEMOP_BODY_VPMOV_S_Z(vpmovsxwd, 64, IEM_MC_FETCH_MEM_ U128_NO_AC);942 IEMOP_BODY_VPMOV_S_Z(vpmovsxwd, 64, IEM_MC_FETCH_MEM_SEG_U128_NO_AC); 943 943 } 944 944 … … 949 949 /** @todo r=aeichner Review code, the naming of this function and the parameter type specifiers. */ 950 950 IEMOP_MNEMONIC2(VEX_RM, VPMOVSXWQ, vpmovsxwq, Vx, Wq, DISOPTYPE_HARMLESS, 0); 951 IEMOP_BODY_VPMOV_S_Z(vpmovsxwq, 32, IEM_MC_FETCH_MEM_ U128);951 IEMOP_BODY_VPMOV_S_Z(vpmovsxwq, 32, IEM_MC_FETCH_MEM_SEG_U128); 952 952 } 953 953 … … 958 958 /** @todo r=aeichner Review code, the naming of this function and the parameter type specifiers. */ 959 959 IEMOP_MNEMONIC2(VEX_RM, VPMOVSXDQ, vpmovsxdq, Vx, Wq, DISOPTYPE_HARMLESS, 0); 960 IEMOP_BODY_VPMOV_S_Z(vpmovsxdq, 64, IEM_MC_FETCH_MEM_ U128_NO_AC);960 IEMOP_BODY_VPMOV_S_Z(vpmovsxdq, 64, IEM_MC_FETCH_MEM_SEG_U128_NO_AC); 961 961 } 962 962 … … 1014 1014 IEM_MC_ACTUALIZE_AVX_STATE_FOR_CHANGE(); 1015 1015 1016 IEM_MC_FETCH_MEM_ U128_ALIGN_SSE(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);1016 IEM_MC_FETCH_MEM_SEG_U128_ALIGN_SSE(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 1017 1017 IEM_MC_STORE_YREG_U128_ZX_VLMAX(IEM_GET_MODRM_REG(pVCpu, bRm), uSrc); 1018 1018 … … 1045 1045 IEM_MC_ACTUALIZE_AVX_STATE_FOR_CHANGE(); 1046 1046 1047 IEM_MC_FETCH_MEM_ U256_ALIGN_AVX(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);1047 IEM_MC_FETCH_MEM_SEG_U256_ALIGN_AVX(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 1048 1048 IEM_MC_STORE_YREG_U256_ZX_VLMAX(IEM_GET_MODRM_REG(pVCpu, bRm), uSrc); 1049 1049 … … 1310 1310 /** @todo r=aeichner Review code, the naming of this function and the parameter type specifiers. */ 1311 1311 IEMOP_MNEMONIC2(VEX_RM, VPMOVZXBW, vpmovzxbw, Vx, Wq, DISOPTYPE_HARMLESS, 0); 1312 IEMOP_BODY_VPMOV_S_Z(vpmovzxbw, 64, IEM_MC_FETCH_MEM_ U128_NO_AC);1312 IEMOP_BODY_VPMOV_S_Z(vpmovzxbw, 64, IEM_MC_FETCH_MEM_SEG_U128_NO_AC); 1313 1313 } 1314 1314 … … 1319 1319 /** @todo r=aeichner Review code, the naming of this function and the parameter type specifiers. */ 1320 1320 IEMOP_MNEMONIC2(VEX_RM, VPMOVZXBD, vpmovzxbd, Vx, Wq, DISOPTYPE_HARMLESS, 0); 1321 IEMOP_BODY_VPMOV_S_Z(vpmovzxbd, 32, IEM_MC_FETCH_MEM_ U128);1321 IEMOP_BODY_VPMOV_S_Z(vpmovzxbd, 32, IEM_MC_FETCH_MEM_SEG_U128); 1322 1322 } 1323 1323 … … 1328 1328 /** @todo r=aeichner Review code, the naming of this function and the parameter type specifiers. */ 1329 1329 IEMOP_MNEMONIC2(VEX_RM, VPMOVZXBQ, vpmovzxbq, Vx, Wq, DISOPTYPE_HARMLESS, 0); 1330 IEMOP_BODY_VPMOV_S_Z(vpmovzxbq, 16, IEM_MC_FETCH_MEM_ U128);1330 IEMOP_BODY_VPMOV_S_Z(vpmovzxbq, 16, IEM_MC_FETCH_MEM_SEG_U128); 1331 1331 } 1332 1332 … … 1337 1337 /** @todo r=aeichner Review code, the naming of this function and the parameter type specifiers. */ 1338 1338 IEMOP_MNEMONIC2(VEX_RM, VPMOVZXWD, vpmovzxwd, Vx, Wq, DISOPTYPE_HARMLESS, 0); 1339 IEMOP_BODY_VPMOV_S_Z(vpmovzxwd, 64, IEM_MC_FETCH_MEM_ U128_NO_AC);1339 IEMOP_BODY_VPMOV_S_Z(vpmovzxwd, 64, IEM_MC_FETCH_MEM_SEG_U128_NO_AC); 1340 1340 } 1341 1341 … … 1346 1346 /** @todo r=aeichner Review code, the naming of this function and the parameter type specifiers. */ 1347 1347 IEMOP_MNEMONIC2(VEX_RM, VPMOVZXWQ, vpmovzxwq, Vx, Wq, DISOPTYPE_HARMLESS, 0); 1348 IEMOP_BODY_VPMOV_S_Z(vpmovzxwq, 32, IEM_MC_FETCH_MEM_ U128);1348 IEMOP_BODY_VPMOV_S_Z(vpmovzxwq, 32, IEM_MC_FETCH_MEM_SEG_U128); 1349 1349 } 1350 1350 … … 1355 1355 /** @todo r=aeichner Review code, the naming of this function and the parameter type specifiers. */ 1356 1356 IEMOP_MNEMONIC2(VEX_RM, VPMOVZXDQ, vpmovzxdq, Vx, Wq, DISOPTYPE_HARMLESS, 0); 1357 IEMOP_BODY_VPMOV_S_Z(vpmovzxdq, 64, IEM_MC_FETCH_MEM_ U128_NO_AC);1357 IEMOP_BODY_VPMOV_S_Z(vpmovzxdq, 64, IEM_MC_FETCH_MEM_SEG_U128_NO_AC); 1358 1358 } 1359 1359 … … 1399 1399 IEM_MC_LOCAL(RTUINT256U, uSrc2); 1400 1400 IEM_MC_ARG_LOCAL_REF(PCRTUINT256U, puSrc2, uSrc2, 2); 1401 IEM_MC_FETCH_MEM_ U256_NO_AC(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);1401 IEM_MC_FETCH_MEM_SEG_U256_NO_AC(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 1402 1402 IEM_MC_LOCAL(RTUINT256U, uSrc1); 1403 1403 IEM_MC_ARG_LOCAL_REF(PCRTUINT256U, puSrc1, uSrc1, 1); … … 1544 1544 IEM_MC_PREPARE_AVX_USAGE(); 1545 1545 1546 IEM_MC_FETCH_MEM_ U128_NO_AC(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);1546 IEM_MC_FETCH_MEM_SEG_U128_NO_AC(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 1547 1547 IEM_MC_REF_XREG_U128(puDst, IEM_GET_MODRM_REG(pVCpu, bRm)); 1548 1548 IEM_MC_CALL_VOID_AIMPL_2(IEM_SELECT_HOST_OR_FALLBACK(fAvx, iemAImpl_vphminposuw_u128, iemAImpl_vphminposuw_u128_fallback), … … 1687 1687 IEM_MC_PREPARE_AVX_USAGE(); 1688 1688 1689 IEM_MC_FETCH_MEM_ U32(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);1689 IEM_MC_FETCH_MEM_SEG_U32(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 1690 1690 IEM_MC_BROADCAST_YREG_U32_ZX_VLMAX(IEM_GET_MODRM_REG(pVCpu, bRm), uSrc); 1691 1691 … … 1704 1704 IEM_MC_PREPARE_AVX_USAGE(); 1705 1705 1706 IEM_MC_FETCH_MEM_ U32(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);1706 IEM_MC_FETCH_MEM_SEG_U32(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 1707 1707 IEM_MC_BROADCAST_XREG_U32_ZX_VLMAX(IEM_GET_MODRM_REG(pVCpu, bRm), uSrc); 1708 1708 … … 1770 1770 IEM_MC_PREPARE_AVX_USAGE(); 1771 1771 1772 IEM_MC_FETCH_MEM_ U64(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);1772 IEM_MC_FETCH_MEM_SEG_U64(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 1773 1773 IEM_MC_BROADCAST_YREG_U64_ZX_VLMAX(IEM_GET_MODRM_REG(pVCpu, bRm), uSrc); 1774 1774 … … 1787 1787 IEM_MC_PREPARE_AVX_USAGE(); 1788 1788 1789 IEM_MC_FETCH_MEM_ U64(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);1789 IEM_MC_FETCH_MEM_SEG_U64(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 1790 1790 IEM_MC_BROADCAST_XREG_U64_ZX_VLMAX(IEM_GET_MODRM_REG(pVCpu, bRm), uSrc); 1791 1791 … … 1823 1823 IEM_MC_PREPARE_AVX_USAGE(); 1824 1824 1825 IEM_MC_FETCH_MEM_ U128_NO_AC(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);1825 IEM_MC_FETCH_MEM_SEG_U128_NO_AC(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 1826 1826 IEM_MC_BROADCAST_YREG_U128_ZX_VLMAX(IEM_GET_MODRM_REG(pVCpu, bRm), uSrc); 1827 1827 … … 1921 1921 IEM_MC_PREPARE_AVX_USAGE(); 1922 1922 1923 IEM_MC_FETCH_MEM_ U8(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);1923 IEM_MC_FETCH_MEM_SEG_U8(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 1924 1924 IEM_MC_BROADCAST_YREG_U8_ZX_VLMAX(IEM_GET_MODRM_REG(pVCpu, bRm), uSrc); 1925 1925 … … 1938 1938 IEM_MC_PREPARE_AVX_USAGE(); 1939 1939 1940 IEM_MC_FETCH_MEM_ U8(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);1940 IEM_MC_FETCH_MEM_SEG_U8(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 1941 1941 IEM_MC_BROADCAST_XREG_U8_ZX_VLMAX(IEM_GET_MODRM_REG(pVCpu, bRm), uSrc); 1942 1942 … … 2004 2004 IEM_MC_PREPARE_AVX_USAGE(); 2005 2005 2006 IEM_MC_FETCH_MEM_ U16(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);2006 IEM_MC_FETCH_MEM_SEG_U16(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 2007 2007 IEM_MC_BROADCAST_YREG_U16_ZX_VLMAX(IEM_GET_MODRM_REG(pVCpu, bRm), uSrc); 2008 2008 … … 2021 2021 IEM_MC_PREPARE_AVX_USAGE(); 2022 2022 2023 IEM_MC_FETCH_MEM_ U16(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);2023 IEM_MC_FETCH_MEM_SEG_U16(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 2024 2024 IEM_MC_BROADCAST_XREG_U16_ZX_VLMAX(IEM_GET_MODRM_REG(pVCpu, bRm), uSrc); 2025 2025 … … 2532 2532 IEMOP_HLP_DONE_VEX_DECODING_L0_AND_NO_VVVV_EX_2(fAvx, fAesNi); 2533 2533 IEM_MC_MAYBE_RAISE_AVX_RELATED_XCPT(); 2534 IEM_MC_FETCH_MEM_ U128_ALIGN_SSE(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);2534 IEM_MC_FETCH_MEM_SEG_U128_ALIGN_SSE(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 2535 2535 2536 2536 IEM_MC_PREPARE_AVX_USAGE(); … … 2678 2678 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 2679 2679 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(fBmi1); 2680 IEM_MC_FETCH_MEM_ U64(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);2680 IEM_MC_FETCH_MEM_SEG_U64(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 2681 2681 IEM_MC_FETCH_GREG_U64(uSrc1, IEM_GET_EFFECTIVE_VVVV(pVCpu)); 2682 2682 IEM_MC_REF_GREG_U64(pDst, IEM_GET_MODRM_REG(pVCpu, bRm)); … … 2697 2697 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 2698 2698 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(fBmi1); 2699 IEM_MC_FETCH_MEM_ U32(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);2699 IEM_MC_FETCH_MEM_SEG_U32(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 2700 2700 IEM_MC_FETCH_GREG_U32(uSrc1, IEM_GET_EFFECTIVE_VVVV(pVCpu)); 2701 2701 IEM_MC_REF_GREG_U32(pDst, IEM_GET_MODRM_REG(pVCpu, bRm)); … … 2776 2776 \ 2777 2777 IEM_MC_ARG(uint64_t, uSrc, 2); \ 2778 IEM_MC_FETCH_MEM_ U64(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); \2778 IEM_MC_FETCH_MEM_SEG_U64(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); \ 2779 2779 IEM_MC_ARG(uint64_t *, pDst, 1); \ 2780 2780 IEM_MC_REF_GREG_U64(pDst, IEM_GET_EFFECTIVE_VVVV(pVCpu)); \ … … 2795 2795 \ 2796 2796 IEM_MC_ARG(uint32_t, uSrc, 2); \ 2797 IEM_MC_FETCH_MEM_ U32(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); \2797 IEM_MC_FETCH_MEM_SEG_U32(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); \ 2798 2798 IEM_MC_ARG(uint32_t *, pDst, 1); \ 2799 2799 IEM_MC_REF_GREG_U32(pDst, IEM_GET_EFFECTIVE_VVVV(pVCpu)); \ … … 2952 2952 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); \ 2953 2953 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(a_fFeatureMember); \ 2954 IEM_MC_FETCH_MEM_ U64(uSrc1, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); \2954 IEM_MC_FETCH_MEM_SEG_U64(uSrc1, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); \ 2955 2955 IEM_MC_FETCH_GREG_U64(uSrc2, IEM_GET_EFFECTIVE_VVVV(pVCpu)); \ 2956 2956 IEM_MC_REF_GREG_U64(pDst, IEM_GET_MODRM_REG(pVCpu, bRm)); \ … … 2972 2972 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); \ 2973 2973 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(a_fFeatureMember); \ 2974 IEM_MC_FETCH_MEM_ U32(uSrc1, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); \2974 IEM_MC_FETCH_MEM_SEG_U32(uSrc1, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); \ 2975 2975 IEM_MC_FETCH_GREG_U32(uSrc2, IEM_GET_EFFECTIVE_VVVV(pVCpu)); \ 2976 2976 IEM_MC_REF_GREG_U32(pDst, IEM_GET_MODRM_REG(pVCpu, bRm)); \ … … 3041 3041 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); \ 3042 3042 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(a_fFeatureMember); \ 3043 IEM_MC_FETCH_MEM_ U64(uSrc1, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); \3043 IEM_MC_FETCH_MEM_SEG_U64(uSrc1, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); \ 3044 3044 IEM_MC_FETCH_GREG_U64(uSrc2, IEM_GET_EFFECTIVE_VVVV(pVCpu)); \ 3045 3045 IEM_MC_REF_GREG_U64(pDst, IEM_GET_MODRM_REG(pVCpu, bRm)); \ … … 3058 3058 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); \ 3059 3059 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(a_fFeatureMember); \ 3060 IEM_MC_FETCH_MEM_ U32(uSrc1, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); \3060 IEM_MC_FETCH_MEM_SEG_U32(uSrc1, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); \ 3061 3061 IEM_MC_FETCH_GREG_U32(uSrc2, IEM_GET_EFFECTIVE_VVVV(pVCpu)); \ 3062 3062 IEM_MC_REF_GREG_U32(pDst, IEM_GET_MODRM_REG(pVCpu, bRm)); \ … … 3143 3143 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); \ 3144 3144 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(a_fFeatureMember); \ 3145 IEM_MC_FETCH_MEM_ U64(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); \3145 IEM_MC_FETCH_MEM_SEG_U64(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); \ 3146 3146 IEM_MC_FETCH_GREG_U64(uSrc1, IEM_GET_EFFECTIVE_VVVV(pVCpu)); \ 3147 3147 IEM_MC_REF_GREG_U64(pDst, IEM_GET_MODRM_REG(pVCpu, bRm)); \ … … 3161 3161 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); \ 3162 3162 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(a_fFeatureMember); \ 3163 IEM_MC_FETCH_MEM_ U32(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); \3163 IEM_MC_FETCH_MEM_SEG_U32(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); \ 3164 3164 IEM_MC_FETCH_GREG_U32(uSrc1, IEM_GET_EFFECTIVE_VVVV(pVCpu)); \ 3165 3165 IEM_MC_REF_GREG_U32(pDst, IEM_GET_MODRM_REG(pVCpu, bRm)); \ … … 3263 3263 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 3264 3264 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(fBmi2); 3265 IEM_MC_FETCH_MEM_ U64(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);3265 IEM_MC_FETCH_MEM_SEG_U64(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 3266 3266 IEM_MC_FETCH_GREG_U64(uSrc1, X86_GREG_xDX); 3267 3267 IEM_MC_REF_GREG_U64(pDst2, IEM_GET_EFFECTIVE_VVVV(pVCpu)); … … 3282 3282 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 3283 3283 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(fBmi2); 3284 IEM_MC_FETCH_MEM_ U32(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);3284 IEM_MC_FETCH_MEM_SEG_U32(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 3285 3285 IEM_MC_FETCH_GREG_U32(uSrc1, X86_GREG_xDX); 3286 3286 IEM_MC_REF_GREG_U32(pDst2, IEM_GET_EFFECTIVE_VVVV(pVCpu));
Note:
See TracChangeset
for help on using the changeset viewer.