Changeset 104018 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Mar 24, 2024 12:14:18 AM (11 months ago)
- svn:sync-xref-src-repo-rev:
- 162406
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstCommon.cpp.h
r102783 r104018 897 897 { 898 898 case IEMMODE_16BIT: 899 IEM_MC_BEGIN(0, 1, 0,0);899 IEM_MC_BEGIN(0, 0); 900 900 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 901 901 IEM_MC_LOCAL(uint16_t, u16Value); … … 907 907 908 908 case IEMMODE_32BIT: 909 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);909 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 910 910 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 911 911 IEM_MC_LOCAL(uint32_t, u32Value); … … 917 917 918 918 case IEMMODE_64BIT: 919 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);919 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 920 920 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 921 921 IEM_MC_LOCAL(uint64_t, u64Value); … … 941 941 if (iSegReg >= X86_SREG_FS || !IEM_IS_32BIT_CODE(pVCpu)) /* IEM_CIMPL_F_XXX flag are combined for whole MC block, */ 942 942 { /* thus the duplication. */ 943 IEM_MC_BEGIN( 5, 1,0, 0);943 IEM_MC_BEGIN(0, 0); 944 944 IEM_MC_LOCAL(RTGCPTR, GCPtrEff); 945 945 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEff, bRm, 0); … … 963 963 else 964 964 { 965 IEM_MC_BEGIN( 5, 1,0, 0);965 IEM_MC_BEGIN(0, 0); 966 966 IEM_MC_LOCAL(RTGCPTR, GCPtrEff); 967 967 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEff, bRm, 0); … … 987 987 if (iSegReg >= X86_SREG_FS || !IEM_IS_32BIT_CODE(pVCpu)) 988 988 { 989 IEM_MC_BEGIN( 5, 1,IEM_MC_F_MIN_386, 0);989 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 990 990 IEM_MC_LOCAL(RTGCPTR, GCPtrEff); 991 991 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEff, bRm, 0); … … 1009 1009 else 1010 1010 { 1011 IEM_MC_BEGIN( 5, 1,IEM_MC_F_MIN_386, 0);1011 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 1012 1012 IEM_MC_LOCAL(RTGCPTR, GCPtrEff); 1013 1013 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEff, bRm, 0); … … 1031 1031 1032 1032 case IEMMODE_64BIT: 1033 IEM_MC_BEGIN( 5, 1,IEM_MC_F_64BIT, 0);1033 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 1034 1034 IEM_MC_ARG(uint16_t, uSel, 0); 1035 1035 IEM_MC_ARG(uint64_t, offSeg, 1); -
trunk/src/VBox/VMM/VMMAll/IEMAllInstCommonBodyMacros.h
r104016 r104018 47 47 { \ 48 48 case IEMMODE_16BIT: \ 49 IEM_MC_BEGIN( 1, 0,0, 0); \49 IEM_MC_BEGIN(0, 0); \ 50 50 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 51 51 IEM_MC_STORE_GREG_U16_CONST(IEM_GET_MODRM_RM(pVCpu, a_bRm), 0); \ … … 59 59 \ 60 60 case IEMMODE_32BIT: \ 61 IEM_MC_BEGIN( 1, 0,IEM_MC_F_MIN_386, 0); \61 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 62 62 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 63 63 IEM_MC_STORE_GREG_U32_CONST(IEM_GET_MODRM_RM(pVCpu, a_bRm), 0); \ … … 71 71 \ 72 72 case IEMMODE_64BIT: \ 73 IEM_MC_BEGIN( 1, 0,IEM_MC_F_64BIT, 0); \73 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 74 74 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 75 75 IEM_MC_STORE_GREG_U64_CONST(IEM_GET_MODRM_RM(pVCpu, a_bRm), 0); \ … … 101 101 { \ 102 102 case IEMMODE_16BIT: \ 103 IEM_MC_BEGIN( 3, 0,a_f16BitMcFlag, 0); \103 IEM_MC_BEGIN(a_f16BitMcFlag, 0); \ 104 104 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 105 105 IEM_MC_ARG(uint16_t, u16Src, 1); \ … … 124 124 \ 125 125 case IEMMODE_32BIT: \ 126 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_386, 0); \126 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 127 127 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 128 128 IEM_MC_ARG(uint32_t, u32Src, 1); \ … … 148 148 \ 149 149 case IEMMODE_64BIT: \ 150 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0); \150 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 151 151 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 152 152 IEM_MC_ARG(uint64_t, u64Src, 1); \ … … 181 181 { \ 182 182 case IEMMODE_16BIT: \ 183 IEM_MC_BEGIN( 3, 1,a_f16BitMcFlag, 0); \183 IEM_MC_BEGIN(a_f16BitMcFlag, 0); \ 184 184 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 185 185 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, a_bRm, 0); \ … … 206 206 \ 207 207 case IEMMODE_32BIT: \ 208 IEM_MC_BEGIN( 3, 1,IEM_MC_F_MIN_386, 0); \208 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 209 209 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 210 210 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, a_bRm, 0); \ … … 232 232 \ 233 233 case IEMMODE_64BIT: \ 234 IEM_MC_BEGIN( 3, 1,IEM_MC_F_64BIT, 0); \234 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 235 235 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 236 236 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, a_bRm, 0); \ … … 276 276 { \ 277 277 case IEMMODE_16BIT: \ 278 IEM_MC_BEGIN( 3, 0,0, 0); \278 IEM_MC_BEGIN(0, 0); \ 279 279 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 280 280 IEM_MC_ARG(uint16_t, u16Src, 1); \ … … 298 298 \ 299 299 case IEMMODE_32BIT: \ 300 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_386, 0); \300 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 301 301 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 302 302 IEM_MC_ARG(uint32_t, u32Src, 1); \ … … 320 320 \ 321 321 case IEMMODE_64BIT: \ 322 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0); \322 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 323 323 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 324 324 IEM_MC_ARG(uint64_t, u64Src, 1); \ … … 352 352 { \ 353 353 case IEMMODE_16BIT: \ 354 IEM_MC_BEGIN( 3, 1,0, 0); \354 IEM_MC_BEGIN(0, 0); \ 355 355 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 356 356 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, a_bRm, 0); \ … … 376 376 \ 377 377 case IEMMODE_32BIT: \ 378 IEM_MC_BEGIN( 3, 1,IEM_MC_F_MIN_386, 0); \378 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 379 379 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 380 380 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, a_bRm, 0); \ … … 400 400 \ 401 401 case IEMMODE_64BIT: \ 402 IEM_MC_BEGIN( 3, 1,IEM_MC_F_64BIT, 0); \402 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 403 403 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 404 404 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, a_bRm, 0); \ -
trunk/src/VBox/VMM/VMMAll/IEMAllInstOneByte.cpp.h
r104017 r104018 68 68 && pVCpu->iem.s.uRexReg == pVCpu->iem.s.uRexB) \ 69 69 { \ 70 IEM_MC_BEGIN(0, 1, 0,0); \70 IEM_MC_BEGIN(0, 0); \ 71 71 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 72 72 IEM_MC_STORE_GREG_U8_CONST(IEM_GET_MODRM_REG(pVCpu, a_bRm), 0); \ … … 89 89 if (IEM_IS_MODRM_REG_MODE(a_bRm)) \ 90 90 { \ 91 IEM_MC_BEGIN( 3, 0,0, 0); \91 IEM_MC_BEGIN(0, 0); \ 92 92 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 93 93 IEM_MC_ARG(uint8_t, u8Src, 1); \ … … 119 119 if (!(pVCpu->iem.s.fPrefixes & IEM_OP_PRF_LOCK) || (pVCpu->iem.s.fExec & IEM_F_X86_DISREGARD_LOCK)) \ 120 120 { \ 121 IEM_MC_BEGIN( 3, 3,0, 0); \121 IEM_MC_BEGIN(0, 0); \ 122 122 IEM_MC_ARG(uint8_t *, pu8Dst, 0); \ 123 123 IEM_MC_ARG(uint8_t, u8Src, 1); \ … … 139 139 else \ 140 140 { \ 141 IEM_MC_BEGIN( 3, 3,0, 0); \141 IEM_MC_BEGIN(0, 0); \ 142 142 IEM_MC_ARG(uint8_t *, pu8Dst, 0); \ 143 143 IEM_MC_ARG(uint8_t, u8Src, 1); \ … … 170 170 if (IEM_IS_MODRM_REG_MODE(a_bRm)) \ 171 171 { \ 172 IEM_MC_BEGIN( 3, 0,0, 0); \172 IEM_MC_BEGIN(0, 0); \ 173 173 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 174 174 IEM_MC_ARG(uint8_t, u8Src, 1); \ … … 199 199 if (!(pVCpu->iem.s.fPrefixes & IEM_OP_PRF_LOCK)) \ 200 200 { \ 201 IEM_MC_BEGIN( 3, 3,0, 0); \201 IEM_MC_BEGIN(0, 0); \ 202 202 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 203 203 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, a_bRm, 0); \ … … 244 244 if (IEM_IS_MODRM_REG_MODE(a_bRm)) \ 245 245 { \ 246 IEM_MC_BEGIN( 3, 0,0, 0); \246 IEM_MC_BEGIN(0, 0); \ 247 247 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 248 248 IEM_MC_ARG(uint8_t, u8Src, 1); \ … … 270 270 * We're accessing memory. \ 271 271 */ \ 272 IEM_MC_BEGIN( 3, 1,0, 0); \272 IEM_MC_BEGIN(0, 0); \ 273 273 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 274 274 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, a_bRm, 0); \ … … 304 304 if (IEM_IS_MODRM_REG_MODE(a_bRm)) \ 305 305 { \ 306 IEM_MC_BEGIN( 3, 0,0, 0); \306 IEM_MC_BEGIN(0, 0); \ 307 307 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 308 308 IEM_MC_ARG(uint8_t, u8Src, 1); \ … … 329 329 * We're accessing memory. \ 330 330 */ \ 331 IEM_MC_BEGIN( 3, 1,0, 0); \331 IEM_MC_BEGIN(0, 0); \ 332 332 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 333 333 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, a_bRm, 0); \ … … 367 367 { \ 368 368 case IEMMODE_16BIT: \ 369 IEM_MC_BEGIN( 3, 0,0, 0); \369 IEM_MC_BEGIN(0, 0); \ 370 370 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 371 371 IEM_MC_ARG(uint16_t, u16Src, 1); \ … … 390 390 \ 391 391 case IEMMODE_32BIT: \ 392 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_386, 0); \392 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 393 393 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 394 394 IEM_MC_ARG(uint32_t, u32Src, 1); \ … … 414 414 \ 415 415 case IEMMODE_64BIT: \ 416 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0); \416 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 417 417 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 418 418 IEM_MC_ARG(uint64_t, u64Src, 1); \ … … 451 451 { \ 452 452 case IEMMODE_16BIT: \ 453 IEM_MC_BEGIN( 3, 3,0, 0); \453 IEM_MC_BEGIN(0, 0); \ 454 454 IEM_MC_ARG(uint16_t *, pu16Dst, 0); \ 455 455 IEM_MC_ARG(uint16_t, u16Src, 1); \ … … 471 471 \ 472 472 case IEMMODE_32BIT: \ 473 IEM_MC_BEGIN( 3, 3,IEM_MC_F_MIN_386, 0); \473 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 474 474 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ 475 475 IEM_MC_ARG(uint32_t, u32Src, 1); \ … … 491 491 \ 492 492 case IEMMODE_64BIT: \ 493 IEM_MC_BEGIN( 3, 3,IEM_MC_F_64BIT, 0); \493 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 494 494 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ 495 495 IEM_MC_ARG(uint64_t, u64Src, 1); \ … … 521 521 { \ 522 522 case IEMMODE_16BIT: \ 523 IEM_MC_BEGIN( 3, 3,0, 0); \523 IEM_MC_BEGIN(0, 0); \ 524 524 IEM_MC_ARG(uint16_t *, pu16Dst, 0); \ 525 525 IEM_MC_ARG(uint16_t, u16Src, 1); \ … … 541 541 \ 542 542 case IEMMODE_32BIT: \ 543 IEM_MC_BEGIN( 3, 3,IEM_MC_F_MIN_386, 0); \543 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 544 544 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ 545 545 IEM_MC_ARG(uint32_t, u32Src, 1); \ … … 561 561 \ 562 562 case IEMMODE_64BIT: \ 563 IEM_MC_BEGIN( 3, 3,IEM_MC_F_64BIT, 0); \563 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 564 564 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ 565 565 IEM_MC_ARG(uint64_t, u64Src, 1); \ … … 599 599 { \ 600 600 case IEMMODE_16BIT: \ 601 IEM_MC_BEGIN( 3, 0,0, 0); \601 IEM_MC_BEGIN(0, 0); \ 602 602 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 603 603 IEM_MC_ARG(uint16_t, u16Src, 1); \ … … 621 621 \ 622 622 case IEMMODE_32BIT: \ 623 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_386, 0); \623 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 624 624 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 625 625 IEM_MC_ARG(uint32_t, u32Src, 1); \ … … 643 643 \ 644 644 case IEMMODE_64BIT: \ 645 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0); \645 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 646 646 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 647 647 IEM_MC_ARG(uint64_t, u64Src, 1); \ … … 679 679 { \ 680 680 case IEMMODE_16BIT: \ 681 IEM_MC_BEGIN( 3, 3,0, 0); \681 IEM_MC_BEGIN(0, 0); \ 682 682 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 683 683 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, a_bRm, 0); \ … … 707 707 \ 708 708 case IEMMODE_32BIT: \ 709 IEM_MC_BEGIN( 3, 3,IEM_MC_F_MIN_386, 0); \709 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 710 710 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 711 711 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, a_bRm, 0); \ … … 735 735 \ 736 736 case IEMMODE_64BIT: \ 737 IEM_MC_BEGIN( 3, 3,IEM_MC_F_64BIT, 0); \737 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 738 738 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 739 739 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, a_bRm, 0); \ … … 779 779 */ 780 780 #define IEMOP_BODY_BINARY_AL_Ib(a_InsNm, a_fNativeArchs) \ 781 IEM_MC_BEGIN( 3, 3,0, 0); \781 IEM_MC_BEGIN(0, 0); \ 782 782 uint8_t u8Imm; IEM_OPCODE_GET_NEXT_U8(&u8Imm); \ 783 783 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ … … 810 810 case IEMMODE_16BIT: \ 811 811 { \ 812 IEM_MC_BEGIN( 3, 2,0, 0); \812 IEM_MC_BEGIN(0, 0); \ 813 813 uint16_t u16Imm; IEM_OPCODE_GET_NEXT_U16(&u16Imm); \ 814 814 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ … … 835 835 case IEMMODE_32BIT: \ 836 836 { \ 837 IEM_MC_BEGIN( 3, 2,IEM_MC_F_MIN_386, 0); \837 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 838 838 uint32_t u32Imm; IEM_OPCODE_GET_NEXT_U32(&u32Imm); \ 839 839 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ … … 861 861 case IEMMODE_64BIT: \ 862 862 { \ 863 IEM_MC_BEGIN( 3, 2,IEM_MC_F_64BIT, 0); \863 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 864 864 uint64_t u64Imm; IEM_OPCODE_GET_NEXT_S32_SX_U64(&u64Imm); \ 865 865 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ … … 897 897 case IEMMODE_16BIT: \ 898 898 { \ 899 IEM_MC_BEGIN( 3, 2,0, 0); \899 IEM_MC_BEGIN(0, 0); \ 900 900 uint16_t u16Imm; IEM_OPCODE_GET_NEXT_U16(&u16Imm); \ 901 901 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ … … 921 921 case IEMMODE_32BIT: \ 922 922 { \ 923 IEM_MC_BEGIN( 3, 2,IEM_MC_F_MIN_386, 0); \923 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 924 924 uint32_t u32Imm; IEM_OPCODE_GET_NEXT_U32(&u32Imm); \ 925 925 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ … … 945 945 case IEMMODE_64BIT: \ 946 946 { \ 947 IEM_MC_BEGIN( 3, 2,IEM_MC_F_64BIT, 0); \947 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 948 948 uint64_t u64Imm; IEM_OPCODE_GET_NEXT_S32_SX_U64(&u64Imm); \ 949 949 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ … … 2033 2033 { \ 2034 2034 case IEMMODE_16BIT: \ 2035 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_64BIT, 0); \2035 IEM_MC_BEGIN(IEM_MC_F_NOT_64BIT, 0); \ 2036 2036 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 2037 2037 IEM_MC_ARG(uint16_t *, pu16Dst, 0); \ … … 2045 2045 \ 2046 2046 case IEMMODE_32BIT: \ 2047 IEM_MC_BEGIN( 2, 0,IEM_MC_F_MIN_386 | IEM_MC_F_NOT_64BIT, 0); \2047 IEM_MC_BEGIN(IEM_MC_F_MIN_386 | IEM_MC_F_NOT_64BIT, 0); \ 2048 2048 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 2049 2049 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ … … 2476 2476 { 2477 2477 case IEMMODE_16BIT: 2478 IEM_MC_BEGIN(0, 1, 0,0);2478 IEM_MC_BEGIN(0, 0); 2479 2479 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 2480 2480 IEM_MC_LOCAL(uint16_t, u16Value); … … 2486 2486 2487 2487 case IEMMODE_32BIT: 2488 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386 | IEM_MC_F_NOT_64BIT, 0);2488 IEM_MC_BEGIN(IEM_MC_F_MIN_386 | IEM_MC_F_NOT_64BIT, 0); 2489 2489 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 2490 2490 IEM_MC_LOCAL(uint32_t, u32Value); … … 2496 2496 2497 2497 case IEMMODE_64BIT: 2498 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);2498 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 2499 2499 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 2500 2500 IEM_MC_LOCAL(uint64_t, u64Value); … … 2560 2560 2561 2561 /* 8086 works differently wrt to 'push sp' compared to 80186 and later. */ 2562 IEM_MC_BEGIN( 0, 1,IEM_MC_F_ONLY_8086, 0);2562 IEM_MC_BEGIN(IEM_MC_F_ONLY_8086, 0); 2563 2563 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 2564 2564 IEM_MC_LOCAL(uint16_t, u16Value); … … 2616 2616 { 2617 2617 case IEMMODE_16BIT: 2618 IEM_MC_BEGIN(0, 0 , 0, 0);2618 IEM_MC_BEGIN(0, 0); 2619 2619 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 2620 2620 IEM_MC_POP_GREG_U16(iReg); … … 2624 2624 2625 2625 case IEMMODE_32BIT: 2626 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386 | IEM_MC_F_NOT_64BIT, 0);2626 IEM_MC_BEGIN(IEM_MC_F_MIN_386 | IEM_MC_F_NOT_64BIT, 0); 2627 2627 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 2628 2628 IEM_MC_POP_GREG_U32(iReg); … … 2632 2632 2633 2633 case IEMMODE_64BIT: 2634 IEM_MC_BEGIN( 0, 0,IEM_MC_F_64BIT, 0);2634 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 2635 2635 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 2636 2636 IEM_MC_POP_GREG_U64(iReg); … … 2852 2852 if (pVCpu->iem.s.enmEffOpSize == IEMMODE_16BIT) 2853 2853 { 2854 IEM_MC_BEGIN( 3, 1,IEM_MC_F_MIN_186 | IEM_MC_F_NOT_64BIT, 0);2854 IEM_MC_BEGIN(IEM_MC_F_MIN_186 | IEM_MC_F_NOT_64BIT, 0); 2855 2855 IEM_MC_ARG(uint16_t, u16Index, 0); /* Note! All operands are actually signed. Lazy unsigned bird. */ 2856 2856 IEM_MC_ARG(uint16_t, u16LowerBounds, 1); … … 2870 2870 else /* 32-bit operands */ 2871 2871 { 2872 IEM_MC_BEGIN( 3, 1,IEM_MC_F_MIN_386 | IEM_MC_F_NOT_64BIT, 0);2872 IEM_MC_BEGIN(IEM_MC_F_MIN_386 | IEM_MC_F_NOT_64BIT, 0); 2873 2873 IEM_MC_ARG(uint32_t, u32Index, 0); /* Note! All operands are actually signed. Lazy unsigned bird. */ 2874 2874 IEM_MC_ARG(uint32_t, u32LowerBounds, 1); … … 2934 2934 { 2935 2935 /* Register */ 2936 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_286 | IEM_MC_F_NOT_64BIT, 0);2936 IEM_MC_BEGIN(IEM_MC_F_MIN_286 | IEM_MC_F_NOT_64BIT, 0); 2937 2937 IEMOP_HLP_DECODED_NL_2(OP_ARPL, IEMOPFORM_MR_REG, OP_PARM_Ew, OP_PARM_Gw, DISOPTYPE_HARMLESS); 2938 2938 IEM_MC_ARG(uint16_t *, pu16Dst, 0); … … 2951 2951 { 2952 2952 /* Memory */ 2953 IEM_MC_BEGIN( 3, 3,IEM_MC_F_MIN_286 | IEM_MC_F_NOT_64BIT, 0);2953 IEM_MC_BEGIN(IEM_MC_F_MIN_286 | IEM_MC_F_NOT_64BIT, 0); 2954 2954 IEM_MC_ARG(uint16_t *, pu16Dst, 0); 2955 2955 IEM_MC_ARG(uint16_t, u16Src, 1); … … 2992 2992 * Register to register. 2993 2993 */ 2994 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);2994 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 2995 2995 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 2996 2996 IEM_MC_LOCAL(uint64_t, u64Value); … … 3005 3005 * We're loading a register from memory. 3006 3006 */ 3007 IEM_MC_BEGIN( 0, 2,IEM_MC_F_64BIT, 0);3007 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 3008 3008 IEM_MC_LOCAL(uint64_t, u64Value); 3009 3009 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 3123 3123 { 3124 3124 case IEMMODE_16BIT: 3125 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_186, 0);3125 IEM_MC_BEGIN(IEM_MC_F_MIN_186, 0); 3126 3126 uint16_t u16Imm; IEM_OPCODE_GET_NEXT_U16(&u16Imm); 3127 3127 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 3133 3133 3134 3134 case IEMMODE_32BIT: 3135 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386 | IEM_MC_F_NOT_64BIT, 0);3135 IEM_MC_BEGIN(IEM_MC_F_MIN_386 | IEM_MC_F_NOT_64BIT, 0); 3136 3136 uint32_t u32Imm; IEM_OPCODE_GET_NEXT_U32(&u32Imm); 3137 3137 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 3143 3143 3144 3144 case IEMMODE_64BIT: 3145 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);3145 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 3146 3146 uint64_t u64Imm; IEM_OPCODE_GET_NEXT_S32_SX_U64(&u64Imm); 3147 3147 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 3177 3177 /* register operand */ 3178 3178 uint16_t u16Imm; IEM_OPCODE_GET_NEXT_U16(&u16Imm); 3179 IEM_MC_BEGIN( 3, 1,IEM_MC_F_MIN_186, 0);3179 IEM_MC_BEGIN(IEM_MC_F_MIN_186, 0); 3180 3180 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 3181 3181 IEM_MC_LOCAL(uint16_t, u16Tmp); … … 3194 3194 { 3195 3195 /* memory operand */ 3196 IEM_MC_BEGIN( 3, 2,IEM_MC_F_MIN_186, 0);3196 IEM_MC_BEGIN(IEM_MC_F_MIN_186, 0); 3197 3197 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 3198 3198 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 2); … … 3224 3224 /* register operand */ 3225 3225 uint32_t u32Imm; IEM_OPCODE_GET_NEXT_U32(&u32Imm); 3226 IEM_MC_BEGIN( 3, 1,IEM_MC_F_MIN_386, 0);3226 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 3227 3227 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 3228 3228 IEM_MC_LOCAL(uint32_t, u32Tmp); … … 3242 3242 { 3243 3243 /* memory operand */ 3244 IEM_MC_BEGIN( 3, 2,IEM_MC_F_MIN_386, 0);3244 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 3245 3245 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 3246 3246 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4); … … 3272 3272 /* register operand */ 3273 3273 uint64_t u64Imm; IEM_OPCODE_GET_NEXT_S32_SX_U64(&u64Imm); 3274 IEM_MC_BEGIN( 3, 1,IEM_MC_F_64BIT, 0);3274 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 3275 3275 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 3276 3276 IEM_MC_LOCAL(uint64_t, u64Tmp); … … 3290 3290 { 3291 3291 /* memory operand */ 3292 IEM_MC_BEGIN( 3, 2,IEM_MC_F_64BIT, 0);3292 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 3293 3293 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 3294 3294 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4); … … 3331 3331 { 3332 3332 case IEMMODE_16BIT: 3333 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_186, 0);3333 IEM_MC_BEGIN(IEM_MC_F_MIN_186, 0); 3334 3334 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 3335 3335 IEM_MC_LOCAL_CONST(uint16_t, uValue, (int16_t)i8Imm); … … 3339 3339 break; 3340 3340 case IEMMODE_32BIT: 3341 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386 | IEM_MC_F_NOT_64BIT, 0);3341 IEM_MC_BEGIN(IEM_MC_F_MIN_386 | IEM_MC_F_NOT_64BIT, 0); 3342 3342 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 3343 3343 IEM_MC_LOCAL_CONST(uint32_t, uValue, (int32_t)i8Imm); … … 3347 3347 break; 3348 3348 case IEMMODE_64BIT: 3349 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);3349 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 3350 3350 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 3351 3351 IEM_MC_LOCAL_CONST(uint64_t, uValue, (int64_t)i8Imm); … … 3378 3378 { 3379 3379 /* register operand */ 3380 IEM_MC_BEGIN( 3, 1,IEM_MC_F_MIN_186, 0);3380 IEM_MC_BEGIN(IEM_MC_F_MIN_186, 0); 3381 3381 uint8_t u8Imm; IEM_OPCODE_GET_NEXT_U8(&u8Imm); 3382 3382 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 3398 3398 { 3399 3399 /* memory operand */ 3400 IEM_MC_BEGIN( 3, 2,IEM_MC_F_MIN_186, 0);3400 IEM_MC_BEGIN(IEM_MC_F_MIN_186, 0); 3401 3401 3402 3402 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 3429 3429 /* register operand */ 3430 3430 uint8_t u8Imm; IEM_OPCODE_GET_NEXT_U8(&u8Imm); 3431 IEM_MC_BEGIN( 3, 1,IEM_MC_F_MIN_386, 0);3431 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 3432 3432 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 3433 3433 IEM_MC_LOCAL(uint32_t, u32Tmp); … … 3447 3447 { 3448 3448 /* memory operand */ 3449 IEM_MC_BEGIN( 3, 2,IEM_MC_F_MIN_386, 0);3449 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 3450 3450 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 3451 3451 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); … … 3477 3477 /* register operand */ 3478 3478 uint8_t u8Imm; IEM_OPCODE_GET_NEXT_U8(&u8Imm); 3479 IEM_MC_BEGIN( 3, 1,IEM_MC_F_64BIT, 0);3479 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 3480 3480 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 3481 3481 IEM_MC_LOCAL(uint64_t, u64Tmp); … … 3495 3495 { 3496 3496 /* memory operand */ 3497 IEM_MC_BEGIN( 3, 2,IEM_MC_F_64BIT, 0);3497 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 3498 3498 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 3499 3499 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); … … 3855 3855 IEMOP_HLP_DEFAULT_64BIT_OP_SIZE_AND_INTEL_IGNORES_OP_SIZE_PREFIX(); 3856 3856 3857 IEM_MC_BEGIN(0, 0 , 0, 0);3857 IEM_MC_BEGIN(0, 0); 3858 3858 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 3859 3859 IEM_MC_IF_EFL_BIT_SET(X86_EFL_OF) { … … 3876 3876 IEMOP_HLP_DEFAULT_64BIT_OP_SIZE_AND_INTEL_IGNORES_OP_SIZE_PREFIX(); 3877 3877 3878 IEM_MC_BEGIN(0, 0 , 0, 0);3878 IEM_MC_BEGIN(0, 0); 3879 3879 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 3880 3880 IEM_MC_IF_EFL_BIT_SET(X86_EFL_OF) { … … 3896 3896 IEMOP_HLP_DEFAULT_64BIT_OP_SIZE_AND_INTEL_IGNORES_OP_SIZE_PREFIX(); 3897 3897 3898 IEM_MC_BEGIN(0, 0 , 0, 0);3898 IEM_MC_BEGIN(0, 0); 3899 3899 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 3900 3900 IEM_MC_IF_EFL_BIT_SET(X86_EFL_CF) { … … 3917 3917 IEMOP_HLP_DEFAULT_64BIT_OP_SIZE_AND_INTEL_IGNORES_OP_SIZE_PREFIX(); 3918 3918 3919 IEM_MC_BEGIN(0, 0 , 0, 0);3919 IEM_MC_BEGIN(0, 0); 3920 3920 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 3921 3921 IEM_MC_IF_EFL_BIT_SET(X86_EFL_CF) { … … 3938 3938 IEMOP_HLP_DEFAULT_64BIT_OP_SIZE_AND_INTEL_IGNORES_OP_SIZE_PREFIX(); 3939 3939 3940 IEM_MC_BEGIN(0, 0 , 0, 0);3940 IEM_MC_BEGIN(0, 0); 3941 3941 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 3942 3942 IEM_MC_IF_EFL_BIT_SET(X86_EFL_ZF) { … … 3959 3959 IEMOP_HLP_DEFAULT_64BIT_OP_SIZE_AND_INTEL_IGNORES_OP_SIZE_PREFIX(); 3960 3960 3961 IEM_MC_BEGIN(0, 0 , 0, 0);3961 IEM_MC_BEGIN(0, 0); 3962 3962 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 3963 3963 IEM_MC_IF_EFL_BIT_SET(X86_EFL_ZF) { … … 3980 3980 IEMOP_HLP_DEFAULT_64BIT_OP_SIZE_AND_INTEL_IGNORES_OP_SIZE_PREFIX(); 3981 3981 3982 IEM_MC_BEGIN(0, 0 , 0, 0);3982 IEM_MC_BEGIN(0, 0); 3983 3983 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 3984 3984 IEM_MC_IF_EFL_ANY_BITS_SET(X86_EFL_CF | X86_EFL_ZF) { … … 4001 4001 IEMOP_HLP_DEFAULT_64BIT_OP_SIZE_AND_INTEL_IGNORES_OP_SIZE_PREFIX(); 4002 4002 4003 IEM_MC_BEGIN(0, 0 , 0, 0);4003 IEM_MC_BEGIN(0, 0); 4004 4004 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 4005 4005 IEM_MC_IF_EFL_ANY_BITS_SET(X86_EFL_CF | X86_EFL_ZF) { … … 4022 4022 IEMOP_HLP_DEFAULT_64BIT_OP_SIZE_AND_INTEL_IGNORES_OP_SIZE_PREFIX(); 4023 4023 4024 IEM_MC_BEGIN(0, 0 , 0, 0);4024 IEM_MC_BEGIN(0, 0); 4025 4025 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 4026 4026 IEM_MC_IF_EFL_BIT_SET(X86_EFL_SF) { … … 4043 4043 IEMOP_HLP_DEFAULT_64BIT_OP_SIZE_AND_INTEL_IGNORES_OP_SIZE_PREFIX(); 4044 4044 4045 IEM_MC_BEGIN(0, 0 , 0, 0);4045 IEM_MC_BEGIN(0, 0); 4046 4046 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 4047 4047 IEM_MC_IF_EFL_BIT_SET(X86_EFL_SF) { … … 4064 4064 IEMOP_HLP_DEFAULT_64BIT_OP_SIZE_AND_INTEL_IGNORES_OP_SIZE_PREFIX(); 4065 4065 4066 IEM_MC_BEGIN(0, 0 , 0, 0);4066 IEM_MC_BEGIN(0, 0); 4067 4067 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 4068 4068 IEM_MC_IF_EFL_BIT_SET(X86_EFL_PF) { … … 4085 4085 IEMOP_HLP_DEFAULT_64BIT_OP_SIZE_AND_INTEL_IGNORES_OP_SIZE_PREFIX(); 4086 4086 4087 IEM_MC_BEGIN(0, 0 , 0, 0);4087 IEM_MC_BEGIN(0, 0); 4088 4088 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 4089 4089 IEM_MC_IF_EFL_BIT_SET(X86_EFL_PF) { … … 4106 4106 IEMOP_HLP_DEFAULT_64BIT_OP_SIZE_AND_INTEL_IGNORES_OP_SIZE_PREFIX(); 4107 4107 4108 IEM_MC_BEGIN(0, 0 , 0, 0);4108 IEM_MC_BEGIN(0, 0); 4109 4109 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 4110 4110 IEM_MC_IF_EFL_BITS_NE(X86_EFL_SF, X86_EFL_OF) { … … 4127 4127 IEMOP_HLP_DEFAULT_64BIT_OP_SIZE_AND_INTEL_IGNORES_OP_SIZE_PREFIX(); 4128 4128 4129 IEM_MC_BEGIN(0, 0 , 0, 0);4129 IEM_MC_BEGIN(0, 0); 4130 4130 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 4131 4131 IEM_MC_IF_EFL_BITS_NE(X86_EFL_SF, X86_EFL_OF) { … … 4148 4148 IEMOP_HLP_DEFAULT_64BIT_OP_SIZE_AND_INTEL_IGNORES_OP_SIZE_PREFIX(); 4149 4149 4150 IEM_MC_BEGIN(0, 0 , 0, 0);4150 IEM_MC_BEGIN(0, 0); 4151 4151 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 4152 4152 IEM_MC_IF_EFL_BIT_SET_OR_BITS_NE(X86_EFL_ZF, X86_EFL_SF, X86_EFL_OF) { … … 4169 4169 IEMOP_HLP_DEFAULT_64BIT_OP_SIZE_AND_INTEL_IGNORES_OP_SIZE_PREFIX(); 4170 4170 4171 IEM_MC_BEGIN(0, 0 , 0, 0);4171 IEM_MC_BEGIN(0, 0); 4172 4172 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 4173 4173 IEM_MC_IF_EFL_BIT_SET_OR_BITS_NE(X86_EFL_ZF, X86_EFL_SF, X86_EFL_OF) { … … 4188 4188 { \ 4189 4189 /* register target */ \ 4190 IEM_MC_BEGIN( 3, 2,0, 0); \4190 IEM_MC_BEGIN(0, 0); \ 4191 4191 uint8_t u8Imm; IEM_OPCODE_GET_NEXT_U8(&u8Imm); \ 4192 4192 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ … … 4214 4214 if (!(pVCpu->iem.s.fPrefixes & IEM_OP_PRF_LOCK) || (pVCpu->iem.s.fExec & IEM_F_X86_DISREGARD_LOCK)) \ 4215 4215 { \ 4216 IEM_MC_BEGIN( 3, 3,0, 0); \4216 IEM_MC_BEGIN(0, 0); \ 4217 4217 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 4218 4218 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 4235 4235 else \ 4236 4236 { \ 4237 IEM_MC_BEGIN( 3, 3,0, 0); \4237 IEM_MC_BEGIN(0, 0); \ 4238 4238 IEM_MC_ARG(uint8_t *, pu8Dst, 0); \ 4239 4239 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ … … 4261 4261 { \ 4262 4262 /* register target */ \ 4263 IEM_MC_BEGIN( 3, 2,0, 0); \4263 IEM_MC_BEGIN(0, 0); \ 4264 4264 uint8_t u8Imm; IEM_OPCODE_GET_NEXT_U8(&u8Imm); \ 4265 4265 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ … … 4286 4286 if (!(pVCpu->iem.s.fPrefixes & IEM_OP_PRF_LOCK) || (pVCpu->iem.s.fExec & IEM_F_X86_DISREGARD_LOCK)) \ 4287 4287 { \ 4288 IEM_MC_BEGIN( 3, 3,0, 0); \4288 IEM_MC_BEGIN(0, 0); \ 4289 4289 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 4290 4290 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 4448 4448 case IEMMODE_16BIT: \ 4449 4449 { \ 4450 IEM_MC_BEGIN( 3, 2,0, 0); \4450 IEM_MC_BEGIN(0, 0); \ 4451 4451 uint16_t u16Imm; IEM_OPCODE_GET_NEXT_U16(&u16Imm); \ 4452 4452 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ … … 4474 4474 case IEMMODE_32BIT: \ 4475 4475 { \ 4476 IEM_MC_BEGIN( 3, 2,IEM_MC_F_MIN_386, 0); \4476 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 4477 4477 uint32_t u32Imm; IEM_OPCODE_GET_NEXT_U32(&u32Imm); \ 4478 4478 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ … … 4501 4501 case IEMMODE_64BIT: \ 4502 4502 { \ 4503 IEM_MC_BEGIN( 3, 2,IEM_MC_F_64BIT, 0); \4503 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 4504 4504 uint64_t u64Imm; IEM_OPCODE_GET_NEXT_S32_SX_U64(&u64Imm); \ 4505 4505 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ … … 4537 4537 case IEMMODE_16BIT: \ 4538 4538 { \ 4539 IEM_MC_BEGIN( 3, 3,0, 0); \4539 IEM_MC_BEGIN(0, 0); \ 4540 4540 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 4541 4541 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 2); \ … … 4561 4561 case IEMMODE_32BIT: \ 4562 4562 { \ 4563 IEM_MC_BEGIN( 3, 3,IEM_MC_F_MIN_386, 0); \4563 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 4564 4564 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 4565 4565 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4); \ … … 4585 4585 case IEMMODE_64BIT: \ 4586 4586 { \ 4587 IEM_MC_BEGIN( 3, 3,IEM_MC_F_64BIT, 0); \4587 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 4588 4588 \ 4589 4589 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ … … 4617 4617 case IEMMODE_16BIT: \ 4618 4618 { \ 4619 IEM_MC_BEGIN( 3, 3,0, 0); \4619 IEM_MC_BEGIN(0, 0); \ 4620 4620 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 4621 4621 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 2); \ … … 4641 4641 case IEMMODE_32BIT: \ 4642 4642 { \ 4643 IEM_MC_BEGIN( 3, 3,IEM_MC_F_MIN_386, 0); \4643 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 4644 4644 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 4645 4645 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4); \ … … 4665 4665 case IEMMODE_64BIT: \ 4666 4666 { \ 4667 IEM_MC_BEGIN( 3, 3,IEM_MC_F_64BIT, 0); \4667 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 4668 4668 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 4669 4669 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4); \ … … 4702 4702 case IEMMODE_16BIT: \ 4703 4703 { \ 4704 IEM_MC_BEGIN( 3, 2,0, 0); \4704 IEM_MC_BEGIN(0, 0); \ 4705 4705 uint16_t u16Imm; IEM_OPCODE_GET_NEXT_U16(&u16Imm); \ 4706 4706 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ … … 4727 4727 case IEMMODE_32BIT: \ 4728 4728 { \ 4729 IEM_MC_BEGIN( 3, 2,IEM_MC_F_MIN_386, 0); \4729 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 4730 4730 uint32_t u32Imm; IEM_OPCODE_GET_NEXT_U32(&u32Imm); \ 4731 4731 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ … … 4752 4752 case IEMMODE_64BIT: \ 4753 4753 { \ 4754 IEM_MC_BEGIN( 3, 2,IEM_MC_F_64BIT, 0); \4754 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 4755 4755 uint64_t u64Imm; IEM_OPCODE_GET_NEXT_S32_SX_U64(&u64Imm); \ 4756 4756 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ … … 4787 4787 case IEMMODE_16BIT: \ 4788 4788 { \ 4789 IEM_MC_BEGIN( 3, 3,0, 0); \4789 IEM_MC_BEGIN(0, 0); \ 4790 4790 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 4791 4791 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 2); \ … … 4815 4815 case IEMMODE_32BIT: \ 4816 4816 { \ 4817 IEM_MC_BEGIN( 3, 3,IEM_MC_F_MIN_386, 0); \4817 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 4818 4818 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 4819 4819 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4); \ … … 4843 4843 case IEMMODE_64BIT: \ 4844 4844 { \ 4845 IEM_MC_BEGIN( 3, 3,IEM_MC_F_64BIT, 0); \4845 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 4846 4846 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 4847 4847 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4); \ … … 5024 5024 { \ 5025 5025 case IEMMODE_16BIT: \ 5026 IEM_MC_BEGIN( 3, 0,0, 0); \5026 IEM_MC_BEGIN(0, 0); \ 5027 5027 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 5028 5028 IEM_MC_NATIVE_IF(a_fRegNativeArchs) { \ … … 5047 5047 \ 5048 5048 case IEMMODE_32BIT: \ 5049 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_386, 0); \5049 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 5050 5050 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 5051 5051 IEM_MC_NATIVE_IF(a_fRegNativeArchs) { \ … … 5071 5071 \ 5072 5072 case IEMMODE_64BIT: \ 5073 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0); \5073 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 5074 5074 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 5075 5075 IEM_MC_NATIVE_IF(a_fRegNativeArchs) { \ … … 5106 5106 { \ 5107 5107 case IEMMODE_16BIT: \ 5108 IEM_MC_BEGIN( 3, 3,0, 0); \5108 IEM_MC_BEGIN(0, 0); \ 5109 5109 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 5110 5110 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 5128 5128 \ 5129 5129 case IEMMODE_32BIT: \ 5130 IEM_MC_BEGIN( 3, 3,IEM_MC_F_MIN_386, 0); \5130 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 5131 5131 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 5132 5132 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 5150 5150 \ 5151 5151 case IEMMODE_64BIT: \ 5152 IEM_MC_BEGIN( 3, 3,IEM_MC_F_64BIT, 0); \5152 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 5153 5153 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 5154 5154 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 5179 5179 { \ 5180 5180 case IEMMODE_16BIT: \ 5181 IEM_MC_BEGIN( 3, 3,0, 0); \5181 IEM_MC_BEGIN(0, 0); \ 5182 5182 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 5183 5183 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 5201 5201 \ 5202 5202 case IEMMODE_32BIT: \ 5203 IEM_MC_BEGIN( 3, 3,IEM_MC_F_MIN_386, 0); \5203 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 5204 5204 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 5205 5205 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 5223 5223 \ 5224 5224 case IEMMODE_64BIT: \ 5225 IEM_MC_BEGIN( 3, 3,IEM_MC_F_64BIT, 0); \5225 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 5226 5226 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 5227 5227 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 5261 5261 { \ 5262 5262 case IEMMODE_16BIT: \ 5263 IEM_MC_BEGIN( 3, 0,0, 0); \5263 IEM_MC_BEGIN(0, 0); \ 5264 5264 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 5265 5265 IEM_MC_NATIVE_IF(a_fNativeArchs) { \ … … 5283 5283 \ 5284 5284 case IEMMODE_32BIT: \ 5285 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_386, 0); \5285 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 5286 5286 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 5287 5287 IEM_MC_NATIVE_IF(a_fNativeArchs) { \ … … 5305 5305 \ 5306 5306 case IEMMODE_64BIT: \ 5307 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0); \5307 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 5308 5308 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 5309 5309 IEM_MC_NATIVE_IF(a_fNativeArchs) { \ … … 5339 5339 { \ 5340 5340 case IEMMODE_16BIT: \ 5341 IEM_MC_BEGIN( 3, 3,0, 0); \5341 IEM_MC_BEGIN(0, 0); \ 5342 5342 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 5343 5343 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 5365 5365 \ 5366 5366 case IEMMODE_32BIT: \ 5367 IEM_MC_BEGIN( 3, 3,IEM_MC_F_MIN_386, 0); \5367 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 5368 5368 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 5369 5369 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 5391 5391 \ 5392 5392 case IEMMODE_64BIT: \ 5393 IEM_MC_BEGIN( 3, 3,IEM_MC_F_64BIT, 0); \5393 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 5394 5394 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 5395 5395 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 5565 5565 && pVCpu->iem.s.uRexReg == pVCpu->iem.s.uRexB) 5566 5566 { 5567 IEM_MC_BEGIN( 3, 0,0, 0);5567 IEM_MC_BEGIN(0, 0); 5568 5568 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 5569 5569 IEM_MC_ARG(uint8_t, u8Src, 1); … … 5609 5609 { 5610 5610 case IEMMODE_16BIT: 5611 IEM_MC_BEGIN( 3, 0,0, 0);5611 IEM_MC_BEGIN(0, 0); 5612 5612 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 5613 5613 IEM_MC_ARG(uint16_t, u16Src, 1); … … 5629 5629 5630 5630 case IEMMODE_32BIT: 5631 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_386, 0);5631 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 5632 5632 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 5633 5633 IEM_MC_ARG(uint32_t, u32Src, 1); … … 5649 5649 5650 5650 case IEMMODE_64BIT: 5651 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0);5651 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 5652 5652 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 5653 5653 IEM_MC_ARG(uint64_t, u64Src, 1); … … 5689 5689 if (IEM_IS_MODRM_REG_MODE(bRm)) 5690 5690 { 5691 IEM_MC_BEGIN(0, 2, 0,0);5691 IEM_MC_BEGIN(0, 0); 5692 5692 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 5693 5693 IEM_MC_LOCAL(uint8_t, uTmp1); … … 5708 5708 */ 5709 5709 #define IEMOP_XCHG_BYTE(a_fnWorker, a_Style) \ 5710 IEM_MC_BEGIN( 2, 4,0, 0); \5710 IEM_MC_BEGIN(0, 0); \ 5711 5711 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 5712 5712 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ … … 5754 5754 { 5755 5755 case IEMMODE_16BIT: 5756 IEM_MC_BEGIN(0, 2, 0,0);5756 IEM_MC_BEGIN(0, 0); 5757 5757 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 5758 5758 IEM_MC_LOCAL(uint16_t, uTmp1); … … 5769 5769 5770 5770 case IEMMODE_32BIT: 5771 IEM_MC_BEGIN( 0, 2,IEM_MC_F_MIN_386, 0);5771 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 5772 5772 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 5773 5773 IEM_MC_LOCAL(uint32_t, uTmp1); … … 5784 5784 5785 5785 case IEMMODE_64BIT: 5786 IEM_MC_BEGIN( 0, 2,IEM_MC_F_64BIT, 0);5786 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 5787 5787 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 5788 5788 IEM_MC_LOCAL(uint64_t, uTmp1); … … 5811 5811 { \ 5812 5812 case IEMMODE_16BIT: \ 5813 IEM_MC_BEGIN( 2, 4,0, 0); \5813 IEM_MC_BEGIN(0, 0); \ 5814 5814 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 5815 5815 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ … … 5831 5831 \ 5832 5832 case IEMMODE_32BIT: \ 5833 IEM_MC_BEGIN( 2, 4,IEM_MC_F_MIN_386, 0); \5833 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 5834 5834 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 5835 5835 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ … … 5851 5851 \ 5852 5852 case IEMMODE_64BIT: \ 5853 IEM_MC_BEGIN( 2, 4,IEM_MC_F_64BIT, 0); \5853 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 5854 5854 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 5855 5855 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ … … 5900 5900 if (IEM_IS_MODRM_REG_MODE(bRm)) 5901 5901 { 5902 IEM_MC_BEGIN(0, 1, 0,0);5902 IEM_MC_BEGIN(0, 0); 5903 5903 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 5904 5904 IEM_MC_LOCAL(uint8_t, u8Value); … … 5913 5913 * We're writing a register to memory. 5914 5914 */ 5915 IEM_MC_BEGIN(0, 2, 0,0);5915 IEM_MC_BEGIN(0, 0); 5916 5916 IEM_MC_LOCAL(uint8_t, u8Value); 5917 5917 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 5943 5943 { 5944 5944 case IEMMODE_16BIT: 5945 IEM_MC_BEGIN(0, 1, 0,0);5945 IEM_MC_BEGIN(0, 0); 5946 5946 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 5947 5947 IEM_MC_LOCAL(uint16_t, u16Value); … … 5953 5953 5954 5954 case IEMMODE_32BIT: 5955 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);5955 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 5956 5956 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 5957 5957 IEM_MC_LOCAL(uint32_t, u32Value); … … 5963 5963 5964 5964 case IEMMODE_64BIT: 5965 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);5965 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 5966 5966 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 5967 5967 IEM_MC_LOCAL(uint64_t, u64Value); … … 5983 5983 { 5984 5984 case IEMMODE_16BIT: 5985 IEM_MC_BEGIN(0, 2, 0,0);5985 IEM_MC_BEGIN(0, 0); 5986 5986 IEM_MC_LOCAL(uint16_t, u16Value); 5987 5987 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 5995 5995 5996 5996 case IEMMODE_32BIT: 5997 IEM_MC_BEGIN( 0, 2,IEM_MC_F_MIN_386, 0);5997 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 5998 5998 IEM_MC_LOCAL(uint32_t, u32Value); 5999 5999 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 6007 6007 6008 6008 case IEMMODE_64BIT: 6009 IEM_MC_BEGIN( 0, 2,IEM_MC_F_64BIT, 0);6009 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 6010 6010 IEM_MC_LOCAL(uint64_t, u64Value); 6011 6011 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 6038 6038 if (IEM_IS_MODRM_REG_MODE(bRm)) 6039 6039 { 6040 IEM_MC_BEGIN(0, 1, 0,0);6040 IEM_MC_BEGIN(0, 0); 6041 6041 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 6042 6042 IEM_MC_LOCAL(uint8_t, u8Value); … … 6051 6051 * We're loading a register from memory. 6052 6052 */ 6053 IEM_MC_BEGIN(0, 2, 0,0);6053 IEM_MC_BEGIN(0, 0); 6054 6054 IEM_MC_LOCAL(uint8_t, u8Value); 6055 6055 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 6081 6081 { 6082 6082 case IEMMODE_16BIT: 6083 IEM_MC_BEGIN(0, 1, 0,0);6083 IEM_MC_BEGIN(0, 0); 6084 6084 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 6085 6085 IEM_MC_LOCAL(uint16_t, u16Value); … … 6091 6091 6092 6092 case IEMMODE_32BIT: 6093 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);6093 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 6094 6094 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 6095 6095 IEM_MC_LOCAL(uint32_t, u32Value); … … 6101 6101 6102 6102 case IEMMODE_64BIT: 6103 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);6103 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 6104 6104 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 6105 6105 IEM_MC_LOCAL(uint64_t, u64Value); … … 6121 6121 { 6122 6122 case IEMMODE_16BIT: 6123 IEM_MC_BEGIN(0, 2, 0,0);6123 IEM_MC_BEGIN(0, 0); 6124 6124 IEM_MC_LOCAL(uint16_t, u16Value); 6125 6125 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 6133 6133 6134 6134 case IEMMODE_32BIT: 6135 IEM_MC_BEGIN( 0, 2,IEM_MC_F_MIN_386, 0);6135 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 6136 6136 IEM_MC_LOCAL(uint32_t, u32Value); 6137 6137 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 6145 6145 6146 6146 case IEMMODE_64BIT: 6147 IEM_MC_BEGIN( 0, 2,IEM_MC_F_64BIT, 0);6147 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 6148 6148 IEM_MC_LOCAL(uint64_t, u64Value); 6149 6149 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 6202 6202 { 6203 6203 case IEMMODE_16BIT: 6204 IEM_MC_BEGIN(0, 1, 0,0);6204 IEM_MC_BEGIN(0, 0); 6205 6205 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 6206 6206 IEM_MC_LOCAL(uint16_t, u16Value); … … 6212 6212 6213 6213 case IEMMODE_32BIT: 6214 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);6214 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 6215 6215 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 6216 6216 IEM_MC_LOCAL(uint32_t, u32Value); … … 6222 6222 6223 6223 case IEMMODE_64BIT: 6224 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);6224 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 6225 6225 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 6226 6226 IEM_MC_LOCAL(uint64_t, u64Value); … … 6243 6243 pVCpu->iem.s.enmEffOpSize = pVCpu->iem.s.enmDefOpSize = IEMMODE_16BIT; 6244 6244 #endif 6245 IEM_MC_BEGIN(0, 2, 0,0);6245 IEM_MC_BEGIN(0, 0); 6246 6246 IEM_MC_LOCAL(uint16_t, u16Value); 6247 6247 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 6271 6271 { 6272 6272 case IEMMODE_16BIT: 6273 IEM_MC_BEGIN(0, 2, 0,0);6273 IEM_MC_BEGIN(0, 0); 6274 6274 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 6275 6275 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); … … 6286 6286 6287 6287 case IEMMODE_32BIT: 6288 IEM_MC_BEGIN( 0, 2,IEM_MC_F_MIN_386, 0);6288 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 6289 6289 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 6290 6290 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); … … 6301 6301 6302 6302 case IEMMODE_64BIT: 6303 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);6303 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 6304 6304 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 6305 6305 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); … … 6352 6352 { 6353 6353 #define IEMOP_MOV_SW_EV_REG_BODY(a_fCImplFlags) \ 6354 IEM_MC_BEGIN( 2, 0,0, a_fCImplFlags); \6354 IEM_MC_BEGIN(0, a_fCImplFlags); \ 6355 6355 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 6356 6356 IEM_MC_ARG_CONST(uint8_t, iSRegArg, iSegReg, 0); \ … … 6393 6393 */ 6394 6394 #define IEMOP_MOV_SW_EV_MEM_BODY(a_fCImplFlags) \ 6395 IEM_MC_BEGIN( 2, 1,0, a_fCImplFlags); \6395 IEM_MC_BEGIN(0, a_fCImplFlags); \ 6396 6396 IEM_MC_ARG_CONST(uint8_t, iSRegArg, iSegReg, 0); \ 6397 6397 IEM_MC_ARG(uint16_t, u16Value, 1); \ … … 6468 6468 { 6469 6469 case IEMMODE_16BIT: 6470 IEM_MC_BEGIN( 2, 0,0, 0);6470 IEM_MC_BEGIN(0, 0); 6471 6471 IEM_MC_ARG(RTGCPTR, GCPtrEffDst, 1); 6472 6472 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 2 << 8); … … 6478 6478 6479 6479 case IEMMODE_32BIT: 6480 IEM_MC_BEGIN( 2, 0,IEM_MC_F_MIN_386, 0);6480 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 6481 6481 IEM_MC_ARG(RTGCPTR, GCPtrEffDst, 1); 6482 6482 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4 << 8); … … 6488 6488 6489 6489 case IEMMODE_64BIT: 6490 IEM_MC_BEGIN( 2, 0,IEM_MC_F_64BIT, 0);6490 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 6491 6491 IEM_MC_ARG(RTGCPTR, GCPtrEffDst, 1); 6492 6492 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 8 << 8); … … 6638 6638 { 6639 6639 case IEMMODE_16BIT: 6640 IEM_MC_BEGIN(0, 2, 0,0);6640 IEM_MC_BEGIN(0, 0); 6641 6641 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 6642 6642 IEM_MC_LOCAL(uint16_t, u16Tmp1); … … 6651 6651 6652 6652 case IEMMODE_32BIT: 6653 IEM_MC_BEGIN( 0, 2,IEM_MC_F_MIN_386, 0);6653 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 6654 6654 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 6655 6655 IEM_MC_LOCAL(uint32_t, u32Tmp1); … … 6664 6664 6665 6665 case IEMMODE_64BIT: 6666 IEM_MC_BEGIN( 0, 2,IEM_MC_F_64BIT, 0);6666 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 6667 6667 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 6668 6668 IEM_MC_LOCAL(uint64_t, u64Tmp1); … … 6712 6712 IEMOP_MNEMONIC(nop, "nop"); 6713 6713 /** @todo testcase: lock nop; lock pause */ 6714 IEM_MC_BEGIN(0, 0 , 0, 0);6714 IEM_MC_BEGIN(0, 0); 6715 6715 IEMOP_HLP_DONE_DECODING(); 6716 6716 IEM_MC_ADVANCE_RIP_AND_FINISH(); … … 6798 6798 case IEMMODE_16BIT: 6799 6799 IEMOP_MNEMONIC(cbw, "cbw"); 6800 IEM_MC_BEGIN(0, 1, 0,0);6800 IEM_MC_BEGIN(0, 0); 6801 6801 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 6802 6802 IEM_MC_IF_GREG_BIT_SET(X86_GREG_xAX, 7) { … … 6811 6811 case IEMMODE_32BIT: 6812 6812 IEMOP_MNEMONIC(cwde, "cwde"); 6813 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);6813 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 6814 6814 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 6815 6815 IEM_MC_IF_GREG_BIT_SET(X86_GREG_xAX, 15) { … … 6824 6824 case IEMMODE_64BIT: 6825 6825 IEMOP_MNEMONIC(cdqe, "cdqe"); 6826 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);6826 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 6827 6827 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 6828 6828 IEM_MC_IF_GREG_BIT_SET(X86_GREG_xAX, 31) { … … 6849 6849 case IEMMODE_16BIT: 6850 6850 IEMOP_MNEMONIC(cwd, "cwd"); 6851 IEM_MC_BEGIN(0, 1, 0,0);6851 IEM_MC_BEGIN(0, 0); 6852 6852 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 6853 6853 IEM_MC_IF_GREG_BIT_SET(X86_GREG_xAX, 15) { … … 6862 6862 case IEMMODE_32BIT: 6863 6863 IEMOP_MNEMONIC(cdq, "cdq"); 6864 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);6864 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 6865 6865 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 6866 6866 IEM_MC_IF_GREG_BIT_SET(X86_GREG_xAX, 31) { … … 6875 6875 case IEMMODE_64BIT: 6876 6876 IEMOP_MNEMONIC(cqo, "cqo"); 6877 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);6877 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 6878 6878 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 6879 6879 IEM_MC_IF_GREG_BIT_SET(X86_GREG_xAX, 63) { … … 6918 6918 { 6919 6919 IEMOP_MNEMONIC(wait, "wait"); 6920 IEM_MC_BEGIN(0, 0 , 0, 0);6920 IEM_MC_BEGIN(0, 0); 6921 6921 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 6922 6922 IEM_MC_MAYBE_RAISE_WAIT_DEVICE_NOT_AVAILABLE(); … … 6964 6964 && !IEM_GET_GUEST_CPU_FEATURES(pVCpu)->fLahfSahf) 6965 6965 IEMOP_RAISE_INVALID_OPCODE_RET(); 6966 IEM_MC_BEGIN(0, 2, 0,0);6966 IEM_MC_BEGIN(0, 0); 6967 6967 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 6968 6968 IEM_MC_LOCAL(uint32_t, u32Flags); … … 6990 6990 && !IEM_GET_GUEST_CPU_FEATURES(pVCpu)->fLahfSahf) 6991 6991 IEMOP_RAISE_INVALID_OPCODE_RET(); 6992 IEM_MC_BEGIN(0, 1, 0,0);6992 IEM_MC_BEGIN(0, 0); 6993 6993 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 6994 6994 IEM_MC_LOCAL(uint8_t, u8Flags); … … 7039 7039 * Fetch AL. 7040 7040 */ 7041 IEM_MC_BEGIN(0, 2, 0,0);7041 IEM_MC_BEGIN(0, 0); 7042 7042 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 7043 7043 IEM_MC_LOCAL(uint8_t, u8Tmp); … … 7068 7068 { 7069 7069 case IEMMODE_16BIT: 7070 IEM_MC_BEGIN(0, 2, 0,0);7070 IEM_MC_BEGIN(0, 0); 7071 7071 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 7072 7072 IEM_MC_LOCAL(uint16_t, u16Tmp); … … 7079 7079 7080 7080 case IEMMODE_32BIT: 7081 IEM_MC_BEGIN( 0, 2,IEM_MC_F_MIN_386, 0);7081 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 7082 7082 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 7083 7083 IEM_MC_LOCAL(uint32_t, u32Tmp); … … 7090 7090 7091 7091 case IEMMODE_64BIT: 7092 IEM_MC_BEGIN( 0, 2,IEM_MC_F_64BIT, 0);7092 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 7093 7093 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 7094 7094 IEM_MC_LOCAL(uint64_t, u64Tmp); … … 7120 7120 * Store AL. 7121 7121 */ 7122 IEM_MC_BEGIN(0, 2, 0,0);7122 IEM_MC_BEGIN(0, 0); 7123 7123 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 7124 7124 IEM_MC_LOCAL(uint8_t, u8Tmp); … … 7149 7149 { 7150 7150 case IEMMODE_16BIT: 7151 IEM_MC_BEGIN(0, 2, 0,0);7151 IEM_MC_BEGIN(0, 0); 7152 7152 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 7153 7153 IEM_MC_LOCAL(uint16_t, u16Tmp); … … 7160 7160 7161 7161 case IEMMODE_32BIT: 7162 IEM_MC_BEGIN( 0, 2,IEM_MC_F_MIN_386, 0);7162 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 7163 7163 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 7164 7164 IEM_MC_LOCAL(uint32_t, u32Tmp); … … 7171 7171 7172 7172 case IEMMODE_64BIT: 7173 IEM_MC_BEGIN( 0, 2,IEM_MC_F_64BIT, 0);7173 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 7174 7174 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 7175 7175 IEM_MC_LOCAL(uint64_t, u64Tmp); … … 7187 7187 /** Macro used by iemOp_movsb_Xb_Yb and iemOp_movswd_Xv_Yv */ 7188 7188 #define IEM_MOVS_CASE(ValBits, AddrBits, a_fMcFlags) \ 7189 IEM_MC_BEGIN( 0, 2,a_fMcFlags, 0); \7189 IEM_MC_BEGIN(a_fMcFlags, 0); \ 7190 7190 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 7191 7191 IEM_MC_LOCAL(uint##ValBits##_t, uValue); \ … … 7385 7385 /** Macro used by iemOp_cmpsb_Xb_Yb and iemOp_cmpswd_Xv_Yv */ 7386 7386 #define IEM_CMPS_CASE(ValBits, AddrBits, a_fMcFlags) \ 7387 IEM_MC_BEGIN( 3, 3,a_fMcFlags, 0); \7387 IEM_MC_BEGIN(a_fMcFlags, 0); \ 7388 7388 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 7389 7389 \ … … 7721 7721 /** Macro used by iemOp_stosb_Yb_AL and iemOp_stoswd_Yv_eAX */ 7722 7722 #define IEM_STOS_CASE(ValBits, AddrBits, a_fMcFlags) \ 7723 IEM_MC_BEGIN( 0, 2,a_fMcFlags, 0); \7723 IEM_MC_BEGIN(a_fMcFlags, 0); \ 7724 7724 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 7725 7725 IEM_MC_LOCAL(uint##ValBits##_t, uValue); \ … … 7902 7902 /** Macro used by iemOp_lodsb_AL_Xb and iemOp_lodswd_eAX_Xv */ 7903 7903 #define IEM_LODS_CASE(ValBits, AddrBits, a_fMcFlags) \ 7904 IEM_MC_BEGIN( 0, 2,a_fMcFlags, 0); \7904 IEM_MC_BEGIN(a_fMcFlags, 0); \ 7905 7905 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 7906 7906 IEM_MC_LOCAL(uint##ValBits##_t, uValue); \ … … 8096 8096 /** Macro used by iemOp_scasb_AL_Xb and iemOp_scaswd_eAX_Xv */ 8097 8097 #define IEM_SCAS_CASE(ValBits, AddrBits, a_fMcFlags) \ 8098 IEM_MC_BEGIN( 3, 2,a_fMcFlags, 0); \8098 IEM_MC_BEGIN(a_fMcFlags, 0); \ 8099 8099 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 8100 8100 IEM_MC_ARG(uint##ValBits##_t *, puRax, 0); \ … … 8381 8381 { 8382 8382 uint8_t u8Imm; IEM_OPCODE_GET_NEXT_U8(&u8Imm); 8383 IEM_MC_BEGIN(0, 0 , 0, 0);8383 IEM_MC_BEGIN(0, 0); 8384 8384 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 8385 8385 IEM_MC_STORE_GREG_U8_CONST(iFixedReg, u8Imm); … … 8477 8477 { 8478 8478 case IEMMODE_16BIT: 8479 IEM_MC_BEGIN(0, 0 , 0, 0);8479 IEM_MC_BEGIN(0, 0); 8480 8480 uint16_t u16Imm; IEM_OPCODE_GET_NEXT_U16(&u16Imm); 8481 8481 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8486 8486 8487 8487 case IEMMODE_32BIT: 8488 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8488 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8489 8489 uint32_t u32Imm; IEM_OPCODE_GET_NEXT_U32(&u32Imm); 8490 8490 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8495 8495 8496 8496 case IEMMODE_64BIT: 8497 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);8497 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 8498 8498 uint64_t u64Imm; IEM_OPCODE_GET_NEXT_U64(&u64Imm); /* 64-bit immediate! */ 8499 8499 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8603 8603 /* register */ \ 8604 8604 uint8_t cShift; IEM_OPCODE_GET_NEXT_U8(&cShift); \ 8605 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_186, 0); \8605 IEM_MC_BEGIN(IEM_MC_F_MIN_186, 0); \ 8606 8606 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 8607 8607 IEM_MC_ARG(uint8_t *, pu8Dst, 0); \ … … 8617 8617 { \ 8618 8618 /* memory */ \ 8619 IEM_MC_BEGIN( 3, 3,IEM_MC_F_MIN_186, 0); \8619 IEM_MC_BEGIN(IEM_MC_F_MIN_186, 0); \ 8620 8620 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 8621 8621 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 8751 8751 { \ 8752 8752 case IEMMODE_16BIT: \ 8753 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_186, 0); \8753 IEM_MC_BEGIN(IEM_MC_F_MIN_186, 0); \ 8754 8754 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 8755 8755 IEM_MC_ARG(uint16_t *, pu16Dst, 0); \ … … 8764 8764 \ 8765 8765 case IEMMODE_32BIT: \ 8766 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_386, 0); \8766 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 8767 8767 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 8768 8768 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ … … 8778 8778 \ 8779 8779 case IEMMODE_64BIT: \ 8780 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0); \8780 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 8781 8781 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 8782 8782 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ … … 8799 8799 { \ 8800 8800 case IEMMODE_16BIT: \ 8801 IEM_MC_BEGIN( 3, 3,0, 0); \8801 IEM_MC_BEGIN(0, 0); \ 8802 8802 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 8803 8803 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 8821 8821 \ 8822 8822 case IEMMODE_32BIT: \ 8823 IEM_MC_BEGIN( 3, 3,IEM_MC_F_MIN_386, 0); \8823 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 8824 8824 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 8825 8825 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 8843 8843 \ 8844 8844 case IEMMODE_64BIT: \ 8845 IEM_MC_BEGIN( 3, 3,IEM_MC_F_64BIT, 0); \8845 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 8846 8846 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 8847 8847 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 9185 9185 /* register access */ 9186 9186 uint8_t u8Imm; IEM_OPCODE_GET_NEXT_U8(&u8Imm); 9187 IEM_MC_BEGIN(0, 0 , 0, 0);9187 IEM_MC_BEGIN(0, 0); 9188 9188 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 9189 9189 IEM_MC_STORE_GREG_U8_CONST(IEM_GET_MODRM_RM(pVCpu, bRm), u8Imm); … … 9194 9194 { 9195 9195 /* memory access. */ 9196 IEM_MC_BEGIN(0, 1, 0,0);9196 IEM_MC_BEGIN(0, 0); 9197 9197 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 9198 9198 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); … … 9222 9222 { 9223 9223 case IEMMODE_16BIT: 9224 IEM_MC_BEGIN(0, 0 , 0, 0);9224 IEM_MC_BEGIN(0, 0); 9225 9225 uint16_t u16Imm; IEM_OPCODE_GET_NEXT_U16(&u16Imm); 9226 9226 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 9231 9231 9232 9232 case IEMMODE_32BIT: 9233 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);9233 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 9234 9234 uint32_t u32Imm; IEM_OPCODE_GET_NEXT_U32(&u32Imm); 9235 9235 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 9240 9240 9241 9241 case IEMMODE_64BIT: 9242 IEM_MC_BEGIN( 0, 0,IEM_MC_F_64BIT, 0);9242 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 9243 9243 uint64_t u64Imm; IEM_OPCODE_GET_NEXT_S32_SX_U64(&u64Imm); 9244 9244 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 9257 9257 { 9258 9258 case IEMMODE_16BIT: 9259 IEM_MC_BEGIN(0, 1, 0,0);9259 IEM_MC_BEGIN(0, 0); 9260 9260 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 9261 9261 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 2); … … 9268 9268 9269 9269 case IEMMODE_32BIT: 9270 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);9270 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 9271 9271 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 9272 9272 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4); … … 9279 9279 9280 9280 case IEMMODE_64BIT: 9281 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);9281 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 9282 9282 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 9283 9283 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4); … … 9481 9481 { \ 9482 9482 /* register */ \ 9483 IEM_MC_BEGIN( 3, 0,0, 0); \9483 IEM_MC_BEGIN(0, 0); \ 9484 9484 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 9485 9485 IEM_MC_ARG(uint8_t *, pu8Dst, 0); \ … … 9495 9495 { \ 9496 9496 /* memory */ \ 9497 IEM_MC_BEGIN( 3, 3,0, 0); \9497 IEM_MC_BEGIN(0, 0); \ 9498 9498 IEM_MC_ARG(uint8_t *, pu8Dst, 0); \ 9499 9499 IEM_MC_ARG_CONST(uint8_t, cShiftArg,/*=*/1, 1); \ … … 9617 9617 { \ 9618 9618 case IEMMODE_16BIT: \ 9619 IEM_MC_BEGIN( 3, 0,0, 0); \9619 IEM_MC_BEGIN(0, 0); \ 9620 9620 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 9621 9621 IEM_MC_ARG(uint16_t *, pu16Dst, 0); \ … … 9630 9630 \ 9631 9631 case IEMMODE_32BIT: \ 9632 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_386, 0); \9632 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 9633 9633 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 9634 9634 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ … … 9644 9644 \ 9645 9645 case IEMMODE_64BIT: \ 9646 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0); \9646 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 9647 9647 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 9648 9648 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ … … 9665 9665 { \ 9666 9666 case IEMMODE_16BIT: \ 9667 IEM_MC_BEGIN( 3, 3,0, 0); \9667 IEM_MC_BEGIN(0, 0); \ 9668 9668 IEM_MC_ARG(uint16_t *, pu16Dst, 0); \ 9669 9669 IEM_MC_ARG_CONST(uint8_t, cShiftArg,/*=1*/1, 1); \ … … 9684 9684 \ 9685 9685 case IEMMODE_32BIT: \ 9686 IEM_MC_BEGIN( 3, 3,IEM_MC_F_MIN_386, 0); \9686 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 9687 9687 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ 9688 9688 IEM_MC_ARG_CONST(uint8_t, cShiftArg,/*=1*/1, 1); \ … … 9703 9703 \ 9704 9704 case IEMMODE_64BIT: \ 9705 IEM_MC_BEGIN( 3, 3,IEM_MC_F_64BIT, 0); \9705 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 9706 9706 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ 9707 9707 IEM_MC_ARG_CONST(uint8_t, cShiftArg,/*=1*/1, 1); \ … … 9845 9845 { \ 9846 9846 /* register */ \ 9847 IEM_MC_BEGIN( 3, 0,0, 0); \9847 IEM_MC_BEGIN(0, 0); \ 9848 9848 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 9849 9849 IEM_MC_ARG(uint8_t *, pu8Dst, 0); \ … … 9860 9860 { \ 9861 9861 /* memory */ \ 9862 IEM_MC_BEGIN( 3, 3,0, 0); \9862 IEM_MC_BEGIN(0, 0); \ 9863 9863 IEM_MC_ARG(uint8_t *, pu8Dst, 0); \ 9864 9864 IEM_MC_ARG(uint8_t, cShiftArg, 1); \ … … 9983 9983 { \ 9984 9984 case IEMMODE_16BIT: \ 9985 IEM_MC_BEGIN( 3, 0,0, 0); \9985 IEM_MC_BEGIN(0, 0); \ 9986 9986 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 9987 9987 IEM_MC_ARG(uint8_t, cShiftArg, 1); \ … … 10002 10002 \ 10003 10003 case IEMMODE_32BIT: \ 10004 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_386, 0); \10004 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 10005 10005 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 10006 10006 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ … … 10017 10017 \ 10018 10018 case IEMMODE_64BIT: \ 10019 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0); \10019 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 10020 10020 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 10021 10021 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ … … 10039 10039 { \ 10040 10040 case IEMMODE_16BIT: \ 10041 IEM_MC_BEGIN( 3, 3,0, 0); \10041 IEM_MC_BEGIN(0, 0); \ 10042 10042 IEM_MC_ARG(uint16_t *, pu16Dst, 0); \ 10043 10043 IEM_MC_ARG(uint8_t, cShiftArg, 1); \ … … 10059 10059 \ 10060 10060 case IEMMODE_32BIT: \ 10061 IEM_MC_BEGIN( 3, 3,IEM_MC_F_MIN_386, 0); \10061 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 10062 10062 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ 10063 10063 IEM_MC_ARG(uint8_t, cShiftArg, 1); \ … … 10079 10079 \ 10080 10080 case IEMMODE_64BIT: \ 10081 IEM_MC_BEGIN( 3, 3,IEM_MC_F_64BIT, 0); \10081 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 10082 10082 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ 10083 10083 IEM_MC_ARG(uint8_t, cShiftArg, 1); \ … … 10251 10251 IEMOP_HLP_NO_64BIT(); 10252 10252 10253 IEM_MC_BEGIN(0, 0 , 0, 0);10253 IEM_MC_BEGIN(0, 0); 10254 10254 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 10255 10255 IEM_MC_IF_EFL_BIT_SET(X86_EFL_CF) { … … 10272 10272 { 10273 10273 case IEMMODE_16BIT: 10274 IEM_MC_BEGIN( 2, 0,0, 0);10274 IEM_MC_BEGIN(0, 0); 10275 10275 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 10276 10276 IEM_MC_LOCAL(uint8_t, u8Tmp); … … 10285 10285 10286 10286 case IEMMODE_32BIT: 10287 IEM_MC_BEGIN( 2, 0,IEM_MC_F_MIN_386, 0);10287 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 10288 10288 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 10289 10289 IEM_MC_LOCAL(uint8_t, u8Tmp); … … 10298 10298 10299 10299 case IEMMODE_64BIT: 10300 IEM_MC_BEGIN( 2, 0,IEM_MC_F_64BIT, 0);10300 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 10301 10301 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 10302 10302 IEM_MC_LOCAL(uint8_t, u8Tmp); … … 10324 10324 FNIEMOP_DEF_2(iemOpHlpFpu_st0_stN, uint8_t, bRm, PFNIEMAIMPLFPUR80, pfnAImpl) 10325 10325 { 10326 IEM_MC_BEGIN( 3, 1,0, 0);10326 IEM_MC_BEGIN(0, 0); 10327 10327 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 10328 10328 IEM_MC_LOCAL(IEMFPURESULT, FpuRes); … … 10355 10355 FNIEMOP_DEF_2(iemOpHlpFpuNoStore_st0_stN, uint8_t, bRm, PFNIEMAIMPLFPUR80FSW, pfnAImpl) 10356 10356 { 10357 IEM_MC_BEGIN( 3, 1,0, 0);10357 IEM_MC_BEGIN(0, 0); 10358 10358 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 10359 10359 IEM_MC_LOCAL(uint16_t, u16Fsw); … … 10386 10386 FNIEMOP_DEF_2(iemOpHlpFpuNoStore_st0_stN_pop, uint8_t, bRm, PFNIEMAIMPLFPUR80FSW, pfnAImpl) 10387 10387 { 10388 IEM_MC_BEGIN( 3, 1,0, 0);10388 IEM_MC_BEGIN(0, 0); 10389 10389 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 10390 10390 IEM_MC_LOCAL(uint16_t, u16Fsw); … … 10481 10481 FNIEMOP_DEF_2(iemOpHlpFpu_st0_m32r, uint8_t, bRm, PFNIEMAIMPLFPUR32, pfnAImpl) 10482 10482 { 10483 IEM_MC_BEGIN( 3, 3,0, 0);10483 IEM_MC_BEGIN(0, 0); 10484 10484 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 10485 10485 IEM_MC_LOCAL(IEMFPURESULT, FpuRes); … … 10530 10530 IEMOP_MNEMONIC(fcom_st0_m32r, "fcom st0,m32r"); 10531 10531 10532 IEM_MC_BEGIN( 3, 3,0, 0);10532 IEM_MC_BEGIN(0, 0); 10533 10533 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 10534 10534 IEM_MC_LOCAL(uint16_t, u16Fsw); … … 10563 10563 IEMOP_MNEMONIC(fcomp_st0_m32r, "fcomp st0,m32r"); 10564 10564 10565 IEM_MC_BEGIN( 3, 3,0, 0);10565 IEM_MC_BEGIN(0, 0); 10566 10566 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 10567 10567 IEM_MC_LOCAL(uint16_t, u16Fsw); … … 10670 10670 IEMOP_MNEMONIC(fld_m32r, "fld m32r"); 10671 10671 10672 IEM_MC_BEGIN( 2, 3,0, 0);10672 IEM_MC_BEGIN(0, 0); 10673 10673 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 10674 10674 IEM_MC_LOCAL(IEMFPURESULT, FpuRes); … … 10700 10700 { 10701 10701 IEMOP_MNEMONIC(fst_m32r, "fst m32r"); 10702 IEM_MC_BEGIN( 3, 3,0, 0);10702 IEM_MC_BEGIN(0, 0); 10703 10703 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 10704 10704 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 10739 10739 { 10740 10740 IEMOP_MNEMONIC(fstp_m32r, "fstp m32r"); 10741 IEM_MC_BEGIN( 3, 3,0, 0);10741 IEM_MC_BEGIN(0, 0); 10742 10742 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 10743 10743 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 10778 10778 { 10779 10779 IEMOP_MNEMONIC(fldenv, "fldenv m14/28byte"); 10780 IEM_MC_BEGIN( 3, 0,0, 0);10780 IEM_MC_BEGIN(0, 0); 10781 10781 IEM_MC_ARG(RTGCPTR, GCPtrEffSrc, 2); 10782 10782 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); … … 10798 10798 { 10799 10799 IEMOP_MNEMONIC(fldcw_m2byte, "fldcw m2byte"); 10800 IEM_MC_BEGIN( 1, 1,0, 0);10800 IEM_MC_BEGIN(0, 0); 10801 10801 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 10802 10802 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); … … 10819 10819 { 10820 10820 IEMOP_MNEMONIC(fstenv, "fstenv m14/m28byte"); 10821 IEM_MC_BEGIN( 3, 0,0, 0);10821 IEM_MC_BEGIN(0, 0); 10822 10822 IEM_MC_ARG(RTGCPTR, GCPtrEffDst, 2); 10823 10823 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 10839 10839 { 10840 10840 IEMOP_MNEMONIC(fnstcw_m2byte, "fnstcw m2byte"); 10841 IEM_MC_BEGIN( 2, 0,0, 0);10841 IEM_MC_BEGIN(0, 0); 10842 10842 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 10843 10843 IEM_MC_LOCAL(uint16_t, u16Fcw); … … 10857 10857 { 10858 10858 IEMOP_MNEMONIC(fnop, "fnop"); 10859 IEM_MC_BEGIN(0, 0 , 0, 0);10859 IEM_MC_BEGIN(0, 0); 10860 10860 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 10861 10861 IEM_MC_MAYBE_RAISE_DEVICE_NOT_AVAILABLE(); … … 10876 10876 /** @todo Testcase: Check if this raises \#MF? Intel mentioned it not. AMD 10877 10877 * indicates that it does. */ 10878 IEM_MC_BEGIN(0, 2, 0,0);10878 IEM_MC_BEGIN(0, 0); 10879 10879 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 10880 10880 IEM_MC_LOCAL(PCRTFLOAT80U, pr80Value); … … 10902 10902 /** @todo Testcase: Check if this raises \#MF? Intel mentioned it not. AMD 10903 10903 * indicates that it does. */ 10904 IEM_MC_BEGIN( 2, 3,0, 0);10904 IEM_MC_BEGIN(0, 0); 10905 10905 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 10906 10906 IEM_MC_LOCAL(PCRTFLOAT80U, pr80Value1); … … 10935 10935 if (!iDstReg) 10936 10936 { 10937 IEM_MC_BEGIN(0, 1, 0,0);10937 IEM_MC_BEGIN(0, 0); 10938 10938 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 10939 10939 IEM_MC_LOCAL_CONST(uint16_t, u16Fsw, /*=*/ 0); … … 10953 10953 else 10954 10954 { 10955 IEM_MC_BEGIN(0, 2, 0,0);10955 IEM_MC_BEGIN(0, 0); 10956 10956 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 10957 10957 IEM_MC_LOCAL(PCRTFLOAT80U, pr80Value); … … 10982 10982 FNIEMOP_DEF_1(iemOpHlpFpu_st0, PFNIEMAIMPLFPUR80UNARY, pfnAImpl) 10983 10983 { 10984 IEM_MC_BEGIN( 2, 1,0, 0);10984 IEM_MC_BEGIN(0, 0); 10985 10985 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 10986 10986 IEM_MC_LOCAL(IEMFPURESULT, FpuRes); … … 11023 11023 { 11024 11024 IEMOP_MNEMONIC(ftst_st0, "ftst st0"); 11025 IEM_MC_BEGIN( 2, 1,0, 0);11025 IEM_MC_BEGIN(0, 0); 11026 11026 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11027 11027 IEM_MC_LOCAL(uint16_t, u16Fsw); … … 11048 11048 { 11049 11049 IEMOP_MNEMONIC(fxam_st0, "fxam st0"); 11050 IEM_MC_BEGIN( 2, 1,0, 0);11050 IEM_MC_BEGIN(0, 0); 11051 11051 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11052 11052 IEM_MC_LOCAL(uint16_t, u16Fsw); … … 11073 11073 FNIEMOP_DEF_1(iemOpHlpFpuPushConstant, PFNIEMAIMPLFPUR80LDCONST, pfnAImpl) 11074 11074 { 11075 IEM_MC_BEGIN( 1, 1,0, 0);11075 IEM_MC_BEGIN(0, 0); 11076 11076 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11077 11077 IEM_MC_LOCAL(IEMFPURESULT, FpuRes); … … 11171 11171 FNIEMOP_DEF_2(iemOpHlpFpu_stN_st0_pop, uint8_t, bRm, PFNIEMAIMPLFPUR80, pfnAImpl) 11172 11172 { 11173 IEM_MC_BEGIN( 3, 1,0, 0);11173 IEM_MC_BEGIN(0, 0); 11174 11174 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11175 11175 IEM_MC_LOCAL(IEMFPURESULT, FpuRes); … … 11210 11210 FNIEMOP_DEF_1(iemOpHlpFpuReplace_st0_push, PFNIEMAIMPLFPUR80UNARYTWO, pfnAImpl) 11211 11211 { 11212 IEM_MC_BEGIN( 2, 1,0, 0);11212 IEM_MC_BEGIN(0, 0); 11213 11213 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11214 11214 IEM_MC_LOCAL(IEMFPURESULTTWO, FpuResTwo); … … 11270 11270 /** @todo Testcase: Check whether FOP, FPUIP and FPUCS are affected by 11271 11271 * FINCSTP and FDECSTP. */ 11272 IEM_MC_BEGIN(0, 0 , 0, 0);11272 IEM_MC_BEGIN(0, 0); 11273 11273 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11274 11274 … … 11292 11292 /** @todo Testcase: Check whether FOP, FPUIP and FPUCS are affected by 11293 11293 * FINCSTP and FDECSTP. */ 11294 IEM_MC_BEGIN(0, 0 , 0, 0);11294 IEM_MC_BEGIN(0, 0); 11295 11295 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11296 11296 … … 11459 11459 { 11460 11460 IEMOP_MNEMONIC(fcmovb_st0_stN, "fcmovb st0,stN"); 11461 IEM_MC_BEGIN(0, 1, 0,0);11461 IEM_MC_BEGIN(0, 0); 11462 11462 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11463 11463 IEM_MC_LOCAL(PCRTFLOAT80U, pr80ValueN); … … 11485 11485 { 11486 11486 IEMOP_MNEMONIC(fcmove_st0_stN, "fcmove st0,stN"); 11487 IEM_MC_BEGIN(0, 1, 0,0);11487 IEM_MC_BEGIN(0, 0); 11488 11488 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11489 11489 IEM_MC_LOCAL(PCRTFLOAT80U, pr80ValueN); … … 11511 11511 { 11512 11512 IEMOP_MNEMONIC(fcmovbe_st0_stN, "fcmovbe st0,stN"); 11513 IEM_MC_BEGIN(0, 1, 0,0);11513 IEM_MC_BEGIN(0, 0); 11514 11514 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11515 11515 IEM_MC_LOCAL(PCRTFLOAT80U, pr80ValueN); … … 11537 11537 { 11538 11538 IEMOP_MNEMONIC(fcmovu_st0_stN, "fcmovu st0,stN"); 11539 IEM_MC_BEGIN(0, 1, 0,0);11539 IEM_MC_BEGIN(0, 0); 11540 11540 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11541 11541 IEM_MC_LOCAL(PCRTFLOAT80U, pr80ValueN); … … 11567 11567 FNIEMOP_DEF_1(iemOpHlpFpuNoStore_st0_st1_pop_pop, PFNIEMAIMPLFPUR80FSW, pfnAImpl) 11568 11568 { 11569 IEM_MC_BEGIN( 3, 1,0, 0);11569 IEM_MC_BEGIN(0, 0); 11570 11570 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11571 11571 IEM_MC_LOCAL(uint16_t, u16Fsw); … … 11607 11607 FNIEMOP_DEF_2(iemOpHlpFpu_st0_m32i, uint8_t, bRm, PFNIEMAIMPLFPUI32, pfnAImpl) 11608 11608 { 11609 IEM_MC_BEGIN( 3, 3,0, 0);11609 IEM_MC_BEGIN(0, 0); 11610 11610 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 11611 11611 IEM_MC_LOCAL(IEMFPURESULT, FpuRes); … … 11656 11656 IEMOP_MNEMONIC(ficom_st0_m32i, "ficom st0,m32i"); 11657 11657 11658 IEM_MC_BEGIN( 3, 3,0, 0);11658 IEM_MC_BEGIN(0, 0); 11659 11659 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 11660 11660 IEM_MC_LOCAL(uint16_t, u16Fsw); … … 11689 11689 IEMOP_MNEMONIC(ficomp_st0_m32i, "ficomp st0,m32i"); 11690 11690 11691 IEM_MC_BEGIN( 3, 3,0, 0);11691 IEM_MC_BEGIN(0, 0); 11692 11692 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 11693 11693 IEM_MC_LOCAL(uint16_t, u16Fsw); … … 11797 11797 IEMOP_MNEMONIC(fild_m32i, "fild m32i"); 11798 11798 11799 IEM_MC_BEGIN( 2, 3,0, 0);11799 IEM_MC_BEGIN(0, 0); 11800 11800 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 11801 11801 IEM_MC_LOCAL(IEMFPURESULT, FpuRes); … … 11828 11828 { 11829 11829 IEMOP_MNEMONIC(fisttp_m32i, "fisttp m32i"); 11830 IEM_MC_BEGIN( 3, 3,0, 0);11830 IEM_MC_BEGIN(0, 0); 11831 11831 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 11832 11832 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 11867 11867 { 11868 11868 IEMOP_MNEMONIC(fist_m32i, "fist m32i"); 11869 IEM_MC_BEGIN( 3, 3,0, 0);11869 IEM_MC_BEGIN(0, 0); 11870 11870 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 11871 11871 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 11906 11906 { 11907 11907 IEMOP_MNEMONIC(fistp_m32i, "fistp m32i"); 11908 IEM_MC_BEGIN( 3, 2,0, 0);11908 IEM_MC_BEGIN(0, 0); 11909 11909 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 11910 11910 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 11946 11946 IEMOP_MNEMONIC(fld_m80r, "fld m80r"); 11947 11947 11948 IEM_MC_BEGIN( 2, 3,0, 0);11948 IEM_MC_BEGIN(0, 0); 11949 11949 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 11950 11950 IEM_MC_LOCAL(IEMFPURESULT, FpuRes); … … 11977 11977 { 11978 11978 IEMOP_MNEMONIC(fstp_m80r, "fstp m80r"); 11979 IEM_MC_BEGIN( 3, 3,0, 0);11979 IEM_MC_BEGIN(0, 0); 11980 11980 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 11981 11981 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 12016 12016 { 12017 12017 IEMOP_MNEMONIC(fcmovnb_st0_stN, "fcmovnb st0,stN"); 12018 IEM_MC_BEGIN(0, 1, 0,0);12018 IEM_MC_BEGIN(0, 0); 12019 12019 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 12020 12020 IEM_MC_LOCAL(PCRTFLOAT80U, pr80ValueN); … … 12042 12042 { 12043 12043 IEMOP_MNEMONIC(fcmovne_st0_stN, "fcmovne st0,stN"); 12044 IEM_MC_BEGIN(0, 1, 0,0);12044 IEM_MC_BEGIN(0, 0); 12045 12045 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 12046 12046 IEM_MC_LOCAL(PCRTFLOAT80U, pr80ValueN); … … 12068 12068 { 12069 12069 IEMOP_MNEMONIC(fcmovnbe_st0_stN, "fcmovnbe st0,stN"); 12070 IEM_MC_BEGIN(0, 1, 0,0);12070 IEM_MC_BEGIN(0, 0); 12071 12071 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 12072 12072 IEM_MC_LOCAL(PCRTFLOAT80U, pr80ValueN); … … 12094 12094 { 12095 12095 IEMOP_MNEMONIC(fcmovnnu_st0_stN, "fcmovnnu st0,stN"); 12096 IEM_MC_BEGIN(0, 1, 0,0);12096 IEM_MC_BEGIN(0, 0); 12097 12097 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 12098 12098 IEM_MC_LOCAL(PCRTFLOAT80U, pr80ValueN); … … 12120 12120 { 12121 12121 IEMOP_MNEMONIC(fneni, "fneni (8087/ign)"); 12122 IEM_MC_BEGIN(0, 0 , 0, 0);12122 IEM_MC_BEGIN(0, 0); 12123 12123 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 12124 12124 IEM_MC_MAYBE_RAISE_DEVICE_NOT_AVAILABLE(); … … 12132 12132 { 12133 12133 IEMOP_MNEMONIC(fndisi, "fndisi (8087/ign)"); 12134 IEM_MC_BEGIN(0, 0 , 0, 0);12134 IEM_MC_BEGIN(0, 0); 12135 12135 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 12136 12136 IEM_MC_MAYBE_RAISE_DEVICE_NOT_AVAILABLE(); … … 12144 12144 { 12145 12145 IEMOP_MNEMONIC(fnclex, "fnclex"); 12146 IEM_MC_BEGIN(0, 0 , 0, 0);12146 IEM_MC_BEGIN(0, 0); 12147 12147 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 12148 12148 IEM_MC_MAYBE_RAISE_DEVICE_NOT_AVAILABLE(); … … 12168 12168 { 12169 12169 IEMOP_MNEMONIC(fnsetpm, "fnsetpm (80287/ign)"); /* set protected mode on fpu. */ 12170 IEM_MC_BEGIN(0, 0 , 0, 0);12170 IEM_MC_BEGIN(0, 0); 12171 12171 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 12172 12172 IEM_MC_MAYBE_RAISE_DEVICE_NOT_AVAILABLE(); … … 12181 12181 IEMOP_MNEMONIC(frstpm, "frstpm (80287XL/ign)"); /* reset pm, back to real mode. */ 12182 12182 #if 0 /* #UDs on newer CPUs */ 12183 IEM_MC_BEGIN(0, 0 , 0, 0);12183 IEM_MC_BEGIN(0, 0); 12184 12184 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 12185 12185 IEM_MC_MAYBE_RAISE_DEVICE_NOT_AVAILABLE(); … … 12275 12275 FNIEMOP_DEF_2(iemOpHlpFpu_stN_st0, uint8_t, bRm, PFNIEMAIMPLFPUR80, pfnAImpl) 12276 12276 { 12277 IEM_MC_BEGIN( 3, 1,0, 0);12277 IEM_MC_BEGIN(0, 0); 12278 12278 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 12279 12279 IEM_MC_LOCAL(IEMFPURESULT, FpuRes); … … 12355 12355 FNIEMOP_DEF_2(iemOpHlpFpu_ST0_m64r, uint8_t, bRm, PFNIEMAIMPLFPUR64, pfnImpl) 12356 12356 { 12357 IEM_MC_BEGIN( 3, 3,0, 0);12357 IEM_MC_BEGIN(0, 0); 12358 12358 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 12359 12359 IEM_MC_LOCAL(IEMFPURESULT, FpuRes); … … 12403 12403 IEMOP_MNEMONIC(fcom_st0_m64r, "fcom st0,m64r"); 12404 12404 12405 IEM_MC_BEGIN( 3, 3,0, 0);12405 IEM_MC_BEGIN(0, 0); 12406 12406 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 12407 12407 IEM_MC_LOCAL(uint16_t, u16Fsw); … … 12436 12436 IEMOP_MNEMONIC(fcomp_st0_m64r, "fcomp st0,m64r"); 12437 12437 12438 IEM_MC_BEGIN( 3, 3,0, 0);12438 IEM_MC_BEGIN(0, 0); 12439 12439 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 12440 12440 IEM_MC_LOCAL(uint16_t, u16Fsw); … … 12542 12542 IEMOP_MNEMONIC(fld_m64r, "fld m64r"); 12543 12543 12544 IEM_MC_BEGIN( 2, 3,0, 0);12544 IEM_MC_BEGIN(0, 0); 12545 12545 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 12546 12546 IEM_MC_LOCAL(IEMFPURESULT, FpuRes); … … 12572 12572 { 12573 12573 IEMOP_MNEMONIC(fisttp_m64i, "fisttp m64i"); 12574 IEM_MC_BEGIN( 3, 3,0, 0);12574 IEM_MC_BEGIN(0, 0); 12575 12575 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 12576 12576 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 12611 12611 { 12612 12612 IEMOP_MNEMONIC(fst_m64r, "fst m64r"); 12613 IEM_MC_BEGIN( 3, 3,0, 0);12613 IEM_MC_BEGIN(0, 0); 12614 12614 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 12615 12615 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 12652 12652 { 12653 12653 IEMOP_MNEMONIC(fstp_m64r, "fstp m64r"); 12654 IEM_MC_BEGIN( 3, 3,0, 0);12654 IEM_MC_BEGIN(0, 0); 12655 12655 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 12656 12656 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 12691 12691 { 12692 12692 IEMOP_MNEMONIC(frstor, "frstor m94/108byte"); 12693 IEM_MC_BEGIN( 3, 0,0, 0);12693 IEM_MC_BEGIN(0, 0); 12694 12694 IEM_MC_ARG(RTGCPTR, GCPtrEffSrc, 2); 12695 12695 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); … … 12711 12711 { 12712 12712 IEMOP_MNEMONIC(fnsave, "fnsave m94/108byte"); 12713 IEM_MC_BEGIN( 3, 0,0, 0);12713 IEM_MC_BEGIN(0, 0); 12714 12714 IEM_MC_ARG(RTGCPTR, GCPtrEffDst, 2); 12715 12715 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 12731 12731 IEMOP_MNEMONIC(fnstsw_m16, "fnstsw m16"); 12732 12732 12733 IEM_MC_BEGIN(0, 2, 0,0);12733 IEM_MC_BEGIN(0, 0); 12734 12734 IEM_MC_LOCAL(uint16_t, u16Tmp); 12735 12735 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 12757 12757 /* Note! C0, C1, C2 and C3 are documented as undefined, we leave the 12758 12758 unmodified. */ 12759 IEM_MC_BEGIN(0, 0 , 0, 0);12759 IEM_MC_BEGIN(0, 0); 12760 12760 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 12761 12761 … … 12776 12776 { 12777 12777 IEMOP_MNEMONIC(fst_st0_stN, "fst st0,stN"); 12778 IEM_MC_BEGIN(0, 2, 0,0);12778 IEM_MC_BEGIN(0, 0); 12779 12779 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 12780 12780 IEM_MC_LOCAL(PCRTFLOAT80U, pr80Value); … … 12917 12917 FNIEMOP_DEF_2(iemOpHlpFpu_st0_m16i, uint8_t, bRm, PFNIEMAIMPLFPUI16, pfnAImpl) 12918 12918 { 12919 IEM_MC_BEGIN( 3, 3,0, 0);12919 IEM_MC_BEGIN(0, 0); 12920 12920 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 12921 12921 IEM_MC_LOCAL(IEMFPURESULT, FpuRes); … … 12966 12966 IEMOP_MNEMONIC(ficom_st0_m16i, "ficom st0,m16i"); 12967 12967 12968 IEM_MC_BEGIN( 3, 3,0, 0);12968 IEM_MC_BEGIN(0, 0); 12969 12969 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 12970 12970 IEM_MC_LOCAL(uint16_t, u16Fsw); … … 12999 12999 IEMOP_MNEMONIC(ficomp_st0_m16i, "ficomp st0,m16i"); 13000 13000 13001 IEM_MC_BEGIN( 3, 3,0, 0);13001 IEM_MC_BEGIN(0, 0); 13002 13002 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 13003 13003 IEM_MC_LOCAL(uint16_t, u16Fsw); … … 13106 13106 { 13107 13107 IEMOP_MNEMONIC(ffreep_stN, "ffreep stN"); 13108 IEM_MC_BEGIN(0, 0 , 0, 0);13108 IEM_MC_BEGIN(0, 0); 13109 13109 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 13110 13110 … … 13126 13126 { 13127 13127 IEMOP_MNEMONIC(fnstsw_ax, "fnstsw ax"); 13128 IEM_MC_BEGIN(0, 1, 0,0);13128 IEM_MC_BEGIN(0, 0); 13129 13129 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 13130 13130 IEM_MC_LOCAL(uint16_t, u16Tmp); … … 13163 13163 IEMOP_MNEMONIC(fild_m16i, "fild m16i"); 13164 13164 13165 IEM_MC_BEGIN( 2, 3,0, 0);13165 IEM_MC_BEGIN(0, 0); 13166 13166 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 13167 13167 IEM_MC_LOCAL(IEMFPURESULT, FpuRes); … … 13194 13194 { 13195 13195 IEMOP_MNEMONIC(fisttp_m16i, "fisttp m16i"); 13196 IEM_MC_BEGIN( 3, 3,0, 0);13196 IEM_MC_BEGIN(0, 0); 13197 13197 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 13198 13198 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 13233 13233 { 13234 13234 IEMOP_MNEMONIC(fist_m16i, "fist m16i"); 13235 IEM_MC_BEGIN( 3, 3,0, 0);13235 IEM_MC_BEGIN(0, 0); 13236 13236 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 13237 13237 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 13272 13272 { 13273 13273 IEMOP_MNEMONIC(fistp_m16i, "fistp m16i"); 13274 IEM_MC_BEGIN( 3, 3,0, 0);13274 IEM_MC_BEGIN(0, 0); 13275 13275 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 13276 13276 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 13312 13312 IEMOP_MNEMONIC(fbld_m80d, "fbld m80d"); 13313 13313 13314 IEM_MC_BEGIN( 2, 3,0, 0);13314 IEM_MC_BEGIN(0, 0); 13315 13315 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 13316 13316 IEM_MC_LOCAL(IEMFPURESULT, FpuRes); … … 13344 13344 IEMOP_MNEMONIC(fild_m64i, "fild m64i"); 13345 13345 13346 IEM_MC_BEGIN( 2, 3,0, 0);13346 IEM_MC_BEGIN(0, 0); 13347 13347 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 13348 13348 IEM_MC_LOCAL(IEMFPURESULT, FpuRes); … … 13375 13375 { 13376 13376 IEMOP_MNEMONIC(fbstp_m80d, "fbstp m80d"); 13377 IEM_MC_BEGIN( 3, 3,0, 0);13377 IEM_MC_BEGIN(0, 0); 13378 13378 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 13379 13379 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 13414 13414 { 13415 13415 IEMOP_MNEMONIC(fistp_m64i, "fistp m64i"); 13416 IEM_MC_BEGIN( 3, 3,0, 0);13416 IEM_MC_BEGIN(0, 0); 13417 13417 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 13418 13418 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 13504 13504 { 13505 13505 case IEMMODE_16BIT: 13506 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_64BIT, 0);13506 IEM_MC_BEGIN(IEM_MC_F_NOT_64BIT, 0); 13507 13507 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 13508 13508 IEM_MC_IF_CX_IS_NOT_ONE_AND_EFL_BIT_NOT_SET(X86_EFL_ZF) { … … 13517 13517 13518 13518 case IEMMODE_32BIT: 13519 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);13519 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 13520 13520 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 13521 13521 IEM_MC_IF_ECX_IS_NOT_ONE_AND_EFL_BIT_NOT_SET(X86_EFL_ZF) { … … 13530 13530 13531 13531 case IEMMODE_64BIT: 13532 IEM_MC_BEGIN( 0, 0,IEM_MC_F_64BIT, 0);13532 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 13533 13533 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 13534 13534 IEM_MC_IF_RCX_IS_NOT_ONE_AND_EFL_BIT_NOT_SET(X86_EFL_ZF) { … … 13560 13560 { 13561 13561 case IEMMODE_16BIT: 13562 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_64BIT, 0);13562 IEM_MC_BEGIN(IEM_MC_F_NOT_64BIT, 0); 13563 13563 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 13564 13564 IEM_MC_IF_CX_IS_NOT_ONE_AND_EFL_BIT_SET(X86_EFL_ZF) { … … 13573 13573 13574 13574 case IEMMODE_32BIT: 13575 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);13575 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 13576 13576 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 13577 13577 IEM_MC_IF_ECX_IS_NOT_ONE_AND_EFL_BIT_SET(X86_EFL_ZF) { … … 13586 13586 13587 13587 case IEMMODE_64BIT: 13588 IEM_MC_BEGIN( 0, 0,IEM_MC_F_64BIT, 0);13588 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 13589 13589 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 13590 13590 IEM_MC_IF_RCX_IS_NOT_ONE_AND_EFL_BIT_SET(X86_EFL_ZF) { … … 13625 13625 { 13626 13626 case IEMMODE_16BIT: 13627 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_64BIT, 0);13627 IEM_MC_BEGIN(IEM_MC_F_NOT_64BIT, 0); 13628 13628 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 13629 13629 IEM_MC_STORE_GREG_U16_CONST(X86_GREG_xCX, 0); … … 13633 13633 13634 13634 case IEMMODE_32BIT: 13635 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);13635 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 13636 13636 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 13637 13637 IEM_MC_STORE_GREG_U32_CONST(X86_GREG_xCX, 0); … … 13641 13641 13642 13642 case IEMMODE_64BIT: 13643 IEM_MC_BEGIN( 0, 0,IEM_MC_F_64BIT, 0);13643 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 13644 13644 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 13645 13645 IEM_MC_STORE_GREG_U64_CONST(X86_GREG_xCX, 0); … … 13655 13655 { 13656 13656 case IEMMODE_16BIT: 13657 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_64BIT, 0);13657 IEM_MC_BEGIN(IEM_MC_F_NOT_64BIT, 0); 13658 13658 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 13659 13659 IEM_MC_IF_CX_IS_NOT_ONE() { … … 13668 13668 13669 13669 case IEMMODE_32BIT: 13670 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);13670 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 13671 13671 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 13672 13672 IEM_MC_IF_ECX_IS_NOT_ONE() { … … 13681 13681 13682 13682 case IEMMODE_64BIT: 13683 IEM_MC_BEGIN( 0, 0,IEM_MC_F_64BIT, 0);13683 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 13684 13684 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 13685 13685 IEM_MC_IF_RCX_IS_NOT_ONE() { … … 13710 13710 { 13711 13711 case IEMMODE_16BIT: 13712 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_64BIT, 0);13712 IEM_MC_BEGIN(IEM_MC_F_NOT_64BIT, 0); 13713 13713 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 13714 13714 IEM_MC_IF_CX_IS_NZ() { … … 13721 13721 13722 13722 case IEMMODE_32BIT: 13723 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);13723 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 13724 13724 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 13725 13725 IEM_MC_IF_ECX_IS_NZ() { … … 13732 13732 13733 13733 case IEMMODE_64BIT: 13734 IEM_MC_BEGIN( 0, 0,IEM_MC_F_64BIT, 0);13734 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 13735 13735 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 13736 13736 IEM_MC_IF_RCX_IS_NZ() { … … 13850 13850 { 13851 13851 case IEMMODE_16BIT: 13852 IEM_MC_BEGIN(0, 0 , 0, 0);13852 IEM_MC_BEGIN(0, 0); 13853 13853 int16_t i16Imm; IEM_OPCODE_GET_NEXT_S16(&i16Imm); 13854 13854 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 13859 13859 case IEMMODE_64BIT: 13860 13860 case IEMMODE_32BIT: 13861 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);13861 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 13862 13862 int32_t i32Imm; IEM_OPCODE_GET_NEXT_S32(&i32Imm); 13863 13863 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 13903 13903 IEMOP_HLP_DEFAULT_64BIT_OP_SIZE_AND_INTEL_IGNORES_OP_SIZE_PREFIX(); 13904 13904 13905 IEM_MC_BEGIN(0, 0 , 0, 0);13905 IEM_MC_BEGIN(0, 0); 13906 13906 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 13907 13907 IEM_MC_REL_JMP_S8_AND_FINISH(i8Imm); … … 14052 14052 { 14053 14053 IEMOP_MNEMONIC(cmc, "cmc"); 14054 IEM_MC_BEGIN(0, 0 , 0, 0);14054 IEM_MC_BEGIN(0, 0); 14055 14055 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 14056 14056 IEM_MC_FLIP_EFL_BIT(X86_EFL_CF); … … 14067 14067 { \ 14068 14068 /* register access */ \ 14069 IEM_MC_BEGIN( 2, 0,0, 0); \14069 IEM_MC_BEGIN(0, 0); \ 14070 14070 IEMOP_HLP_DONE_DECODING(); \ 14071 14071 IEM_MC_ARG(uint8_t *, pu8Dst, 0); \ … … 14082 14082 if (!(pVCpu->iem.s.fPrefixes & IEM_OP_PRF_LOCK) || (pVCpu->iem.s.fExec & IEM_F_X86_DISREGARD_LOCK)) \ 14083 14083 { \ 14084 IEM_MC_BEGIN( 2, 2,0, 0); \14084 IEM_MC_BEGIN(0, 0); \ 14085 14085 IEM_MC_ARG(uint8_t *, pu8Dst, 0); \ 14086 14086 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ … … 14100 14100 else \ 14101 14101 { \ 14102 IEM_MC_BEGIN( 2, 2,0, 0); \14102 IEM_MC_BEGIN(0, 0); \ 14103 14103 IEM_MC_ARG(uint8_t *, pu8Dst, 0); \ 14104 14104 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ … … 14132 14132 { \ 14133 14133 case IEMMODE_16BIT: \ 14134 IEM_MC_BEGIN( 2, 0,0, 0); \14134 IEM_MC_BEGIN(0, 0); \ 14135 14135 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 14136 14136 IEM_MC_ARG(uint16_t *, pu16Dst, 0); \ … … 14144 14144 \ 14145 14145 case IEMMODE_32BIT: \ 14146 IEM_MC_BEGIN( 2, 0,IEM_MC_F_MIN_386, 0); \14146 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 14147 14147 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 14148 14148 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ … … 14157 14157 \ 14158 14158 case IEMMODE_64BIT: \ 14159 IEM_MC_BEGIN( 2, 0,IEM_MC_F_64BIT, 0); \14159 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 14160 14160 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 14161 14161 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ … … 14181 14181 { \ 14182 14182 case IEMMODE_16BIT: \ 14183 IEM_MC_BEGIN( 2, 3,0, 0); \14183 IEM_MC_BEGIN(0, 0); \ 14184 14184 IEM_MC_ARG(uint16_t *, pu16Dst, 0); \ 14185 14185 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ … … 14199 14199 \ 14200 14200 case IEMMODE_32BIT: \ 14201 IEM_MC_BEGIN( 2, 3,IEM_MC_F_MIN_386, 0); \14201 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 14202 14202 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ 14203 14203 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ … … 14217 14217 \ 14218 14218 case IEMMODE_64BIT: \ 14219 IEM_MC_BEGIN( 2, 3,IEM_MC_F_64BIT, 0); \14219 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 14220 14220 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ 14221 14221 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ … … 14245 14245 { \ 14246 14246 case IEMMODE_16BIT: \ 14247 IEM_MC_BEGIN( 2, 3,0, 0); \14247 IEM_MC_BEGIN(0, 0); \ 14248 14248 IEM_MC_ARG(uint16_t *, pu16Dst, 0); \ 14249 14249 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ … … 14263 14263 \ 14264 14264 case IEMMODE_32BIT: \ 14265 IEM_MC_BEGIN( 2, 3,IEM_MC_F_MIN_386, 0); \14265 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 14266 14266 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ 14267 14267 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ … … 14281 14281 \ 14282 14282 case IEMMODE_64BIT: \ 14283 IEM_MC_BEGIN( 2, 3,IEM_MC_F_64BIT, 0); \14283 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 14284 14284 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ 14285 14285 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ … … 14325 14325 { \ 14326 14326 /* register access */ \ 14327 IEM_MC_BEGIN( 3, 1,0, 0); \14327 IEM_MC_BEGIN(0, 0); \ 14328 14328 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 14329 14329 IEM_MC_ARG(uint16_t *, pu16AX, 0); \ … … 14347 14347 { \ 14348 14348 /* memory access. */ \ 14349 IEM_MC_BEGIN( 3, 2,0, 0); \14349 IEM_MC_BEGIN(0, 0); \ 14350 14350 IEM_MC_ARG(uint16_t *, pu16AX, 0); \ 14351 14351 IEM_MC_ARG(uint8_t, u8Value, 1); \ … … 14379 14379 { \ 14380 14380 case IEMMODE_16BIT: \ 14381 IEM_MC_BEGIN( 4, 1,0, 0); \14381 IEM_MC_BEGIN(0, 0); \ 14382 14382 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 14383 14383 IEM_MC_ARG(uint16_t *, pu16AX, 0); \ … … 14402 14402 \ 14403 14403 case IEMMODE_32BIT: \ 14404 IEM_MC_BEGIN( 4, 1,IEM_MC_F_MIN_386, 0); \14404 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 14405 14405 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 14406 14406 IEM_MC_ARG(uint32_t *, pu32AX, 0); \ … … 14427 14427 \ 14428 14428 case IEMMODE_64BIT: \ 14429 IEM_MC_BEGIN( 4, 1,IEM_MC_F_64BIT, 0); \14429 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 14430 14430 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 14431 14431 IEM_MC_ARG(uint64_t *, pu64AX, 0); \ … … 14458 14458 { \ 14459 14459 case IEMMODE_16BIT: \ 14460 IEM_MC_BEGIN( 4, 2,0, 0); \14460 IEM_MC_BEGIN(0, 0); \ 14461 14461 IEM_MC_ARG(uint16_t *, pu16AX, 0); \ 14462 14462 IEM_MC_ARG(uint16_t *, pu16DX, 1); \ … … 14483 14483 \ 14484 14484 case IEMMODE_32BIT: \ 14485 IEM_MC_BEGIN( 4, 2,IEM_MC_F_MIN_386, 0); \14485 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 14486 14486 IEM_MC_ARG(uint32_t *, pu32AX, 0); \ 14487 14487 IEM_MC_ARG(uint32_t *, pu32DX, 1); \ … … 14510 14510 \ 14511 14511 case IEMMODE_64BIT: \ 14512 IEM_MC_BEGIN( 4, 2,IEM_MC_F_64BIT, 0); \14512 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 14513 14513 IEM_MC_ARG(uint64_t *, pu64AX, 0); \ 14514 14514 IEM_MC_ARG(uint64_t *, pu64DX, 1); \ … … 14758 14758 { 14759 14759 IEMOP_MNEMONIC(clc, "clc"); 14760 IEM_MC_BEGIN(0, 0 , 0, 0);14760 IEM_MC_BEGIN(0, 0); 14761 14761 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 14762 14762 IEM_MC_CLEAR_EFL_BIT(X86_EFL_CF); … … 14774 14774 { 14775 14775 IEMOP_MNEMONIC(stc, "stc"); 14776 IEM_MC_BEGIN(0, 0 , 0, 0);14776 IEM_MC_BEGIN(0, 0); 14777 14777 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 14778 14778 IEM_MC_SET_EFL_BIT(X86_EFL_CF); … … 14817 14817 { 14818 14818 IEMOP_MNEMONIC(cld, "cld"); 14819 IEM_MC_BEGIN(0, 0 , 0, 0);14819 IEM_MC_BEGIN(0, 0); 14820 14820 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 14821 14821 IEM_MC_CLEAR_EFL_BIT(X86_EFL_DF); … … 14833 14833 { 14834 14834 IEMOP_MNEMONIC(std, "std"); 14835 IEM_MC_BEGIN(0, 0 , 0, 0);14835 IEM_MC_BEGIN(0, 0); 14836 14836 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 14837 14837 IEM_MC_SET_EFL_BIT(X86_EFL_DF); … … 14923 14923 { 14924 14924 case IEMMODE_16BIT: 14925 IEM_MC_BEGIN( 1, 0,0, 0);14925 IEM_MC_BEGIN(0, 0); 14926 14926 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 14927 14927 IEM_MC_ARG(uint16_t, u16Target, 0); … … 14932 14932 14933 14933 case IEMMODE_32BIT: 14934 IEM_MC_BEGIN( 1, 0,IEM_MC_F_MIN_386, 0);14934 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 14935 14935 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 14936 14936 IEM_MC_ARG(uint32_t, u32Target, 0); … … 14941 14941 14942 14942 case IEMMODE_64BIT: 14943 IEM_MC_BEGIN( 1, 0,IEM_MC_F_64BIT, 0);14943 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 14944 14944 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 14945 14945 IEM_MC_ARG(uint64_t, u64Target, 0); … … 14958 14958 { 14959 14959 case IEMMODE_16BIT: 14960 IEM_MC_BEGIN( 1, 1,0, 0);14960 IEM_MC_BEGIN(0, 0); 14961 14961 IEM_MC_ARG(uint16_t, u16Target, 0); 14962 14962 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 14969 14969 14970 14970 case IEMMODE_32BIT: 14971 IEM_MC_BEGIN( 1, 1,IEM_MC_F_MIN_386, 0);14971 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 14972 14972 IEM_MC_ARG(uint32_t, u32Target, 0); 14973 14973 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 14980 14980 14981 14981 case IEMMODE_64BIT: 14982 IEM_MC_BEGIN( 1, 1,IEM_MC_F_64BIT, 0);14982 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 14983 14983 IEM_MC_ARG(uint64_t, u64Target, 0); 14984 14984 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 15013 15013 { \ 15014 15014 case IEMMODE_16BIT: \ 15015 IEM_MC_BEGIN( 3, 1,0, 0); \15015 IEM_MC_BEGIN(0, 0); \ 15016 15016 IEM_MC_ARG(uint16_t, u16Sel, 0); \ 15017 15017 IEM_MC_ARG(uint16_t, offSeg, 1); \ … … 15029 15029 \ 15030 15030 case IEMMODE_32BIT: \ 15031 IEM_MC_BEGIN( 3, 1,IEM_MC_F_MIN_386, 0); \15031 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 15032 15032 IEM_MC_ARG(uint16_t, u16Sel, 0); \ 15033 15033 IEM_MC_ARG(uint32_t, offSeg, 1); \ … … 15046 15046 case IEMMODE_64BIT: \ 15047 15047 Assert(!IEM_IS_GUEST_CPU_AMD(pVCpu)); \ 15048 IEM_MC_BEGIN( 3, 1,IEM_MC_F_64BIT, 0); \15048 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 15049 15049 IEM_MC_ARG(uint16_t, u16Sel, 0); \ 15050 15050 IEM_MC_ARG(uint64_t, offSeg, 1); \ … … 15091 15091 { 15092 15092 case IEMMODE_16BIT: 15093 IEM_MC_BEGIN(0, 1, 0,0);15093 IEM_MC_BEGIN(0, 0); 15094 15094 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 15095 15095 IEM_MC_LOCAL(uint16_t, u16Target); … … 15100 15100 15101 15101 case IEMMODE_32BIT: 15102 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);15102 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 15103 15103 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 15104 15104 IEM_MC_LOCAL(uint32_t, u32Target); … … 15109 15109 15110 15110 case IEMMODE_64BIT: 15111 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);15111 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 15112 15112 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 15113 15113 IEM_MC_LOCAL(uint64_t, u64Target); … … 15126 15126 { 15127 15127 case IEMMODE_16BIT: 15128 IEM_MC_BEGIN(0, 2, 0,0);15128 IEM_MC_BEGIN(0, 0); 15129 15129 IEM_MC_LOCAL(uint16_t, u16Target); 15130 15130 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 15137 15137 15138 15138 case IEMMODE_32BIT: 15139 IEM_MC_BEGIN( 0, 2,IEM_MC_F_MIN_386, 0);15139 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 15140 15140 IEM_MC_LOCAL(uint32_t, u32Target); 15141 15141 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 15148 15148 15149 15149 case IEMMODE_64BIT: 15150 IEM_MC_BEGIN( 0, 2,IEM_MC_F_64BIT, 0);15150 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 15151 15151 IEM_MC_LOCAL(uint64_t, u64Target); 15152 15152 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 15192 15192 { 15193 15193 case IEMMODE_16BIT: 15194 IEM_MC_BEGIN(0, 2, 0,0);15194 IEM_MC_BEGIN(0, 0); 15195 15195 IEM_MC_LOCAL(uint16_t, u16Src); 15196 15196 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 15204 15204 15205 15205 case IEMMODE_32BIT: 15206 IEM_MC_BEGIN( 0, 2,IEM_MC_F_MIN_386 | IEM_MC_F_NOT_64BIT, 0);15206 IEM_MC_BEGIN(IEM_MC_F_MIN_386 | IEM_MC_F_NOT_64BIT, 0); 15207 15207 IEM_MC_LOCAL(uint32_t, u32Src); 15208 15208 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 15216 15216 15217 15217 case IEMMODE_64BIT: 15218 IEM_MC_BEGIN( 0, 2,IEM_MC_F_64BIT, 0);15218 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 15219 15219 IEM_MC_LOCAL(uint64_t, u64Src); 15220 15220 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); -
trunk/src/VBox/VMM/VMMAll/IEMAllInstPython.py
r104017 r104018 2145 2145 ## kiMacroExp_Entrie, kiMacroExp_Partial). 2146 2146 self.iMacroExp = self.kiMacroExp_None; 2147 ## IEM_MC_BEGIN: Argument count.2148 self.cArgs = -1;2149 2147 ## IEM_MC_ARG, IEM_MC_ARG_CONST, IEM_MC_ARG_LOCAL_REF, IEM_MC_ARG_LOCAL_EFLAGS. 2150 2148 self.aoArgs = [] # type: List[McStmtArg] 2151 ## IEM_MC_BEGIN: Locals count.2152 self.cLocals = -1;2153 2149 ## IEM_MC_LOCAL, IEM_MC_LOCAL_CONST, IEM_MC_ARG_LOCAL_EFLAGS. 2154 2150 self.aoLocals = [] # type: List[McStmtVar] … … 2225 2221 def parseMcBegin(oSelf, sName, asParams): 2226 2222 """ IEM_MC_BEGIN """ 2227 oSelf.checkStmtParamCount(sName, asParams, 4);2228 if oSelf. cArgs != -1 or oSelf.cLocals != -1 or oSelf.dsMcFlags:2223 oSelf.checkStmtParamCount(sName, asParams, 2); 2224 if oSelf.dsMcFlags: 2229 2225 oSelf.raiseStmtError(sName, 'Used more than once!'); 2230 oSelf.cArgs = int(asParams[0]); 2231 oSelf.cLocals = int(asParams[1]); 2232 2233 if asParams[2] != '0': 2234 for sFlag in asParams[2].split('|'): 2226 2227 if asParams[0] != '0': 2228 for sFlag in asParams[0].split('|'): 2235 2229 sFlag = sFlag.strip(); 2236 2230 if sFlag not in g_kdMcFlags: … … 2240 2234 oSelf.dsMcFlags[sFlag2] = True; 2241 2235 2242 if asParams[ 3] != '0':2243 oSelf.parseCImplFlags(sName, asParams[ 3]);2236 if asParams[1] != '0': 2237 oSelf.parseCImplFlags(sName, asParams[1]); 2244 2238 2245 2239 return McBlock.parseMcGeneric(oSelf, sName, asParams); … … 5599 5593 self.raiseError('%s w/o current function (%s)' % (sStmt, sCode,)); 5600 5594 if self.oCurMcBlock: 5601 self.raiseError('%s inside IEM_MC_BEGIN block istarting at line %u' % (sStmt, self.oCurMcBlock.iBeginLine,));5595 self.raiseError('%s inside IEM_MC_BEGIN block starting at line %u' % (sStmt, self.oCurMcBlock.iBeginLine,)); 5602 5596 5603 5597 # Figure out the indent level the block starts at, adjusting for expanded multiline macros. -
trunk/src/VBox/VMM/VMMAll/IEMAllInstThree0f38.cpp.h
r103927 r104018 49 49 /** @todo testcase: REX.B / REX.R and MMX register indexing. Ignored? */ 50 50 /** @todo testcase: REX.B / REX.R and segment register indexing. Ignored? */ 51 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);51 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 52 52 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSsse3); 53 53 IEM_MC_ARG(uint64_t *, pDst, 0); … … 70 70 * MMX, [mem64]. 71 71 */ 72 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);72 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 73 73 IEM_MC_ARG(uint64_t *, pDst, 0); 74 74 IEM_MC_LOCAL(uint64_t, uSrc); … … 111 111 * Register, register. 112 112 */ 113 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);113 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 114 114 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSsse3); 115 115 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 128 128 * Register, memory. 129 129 */ 130 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);130 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 131 131 IEM_MC_ARG(PRTUINT128U, puDst, 0); 132 132 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 167 167 * Register, register. 168 168 */ 169 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);169 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 170 170 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse41); 171 171 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 184 184 * Register, memory. 185 185 */ 186 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);186 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 187 187 IEM_MC_ARG(PRTUINT128U, puDst, 0); 188 188 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 226 226 * Register, register. 227 227 */ 228 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);228 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 229 229 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse41); 230 230 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 243 243 * Register, memory. 244 244 */ 245 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);245 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 246 246 IEM_MC_ARG(PRTUINT128U, puDst, 0); 247 247 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 282 282 * Register, register. 283 283 */ 284 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);284 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 285 285 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse42); 286 286 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 299 299 * Register, memory. 300 300 */ 301 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);301 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 302 302 IEM_MC_ARG(PRTUINT128U, puDst, 0); 303 303 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 342 342 * Register, register. 343 343 */ 344 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);344 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 345 345 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fAesNi); 346 346 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 359 359 * Register, memory. 360 360 */ 361 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);361 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 362 362 IEM_MC_ARG(PRTUINT128U, puDst, 0); 363 363 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 402 402 * Register, register. 403 403 */ 404 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);404 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 405 405 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSha); 406 406 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 419 419 * Register, memory. 420 420 */ 421 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);421 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 422 422 IEM_MC_ARG(PRTUINT128U, puDst, 0); 423 423 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 690 690 * Register, register. \ 691 691 */ \ 692 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0); \692 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); \ 693 693 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse41); \ 694 694 IEM_MC_ARG(PRTUINT128U, puDst, 0); \ … … 712 712 * Register, memory. \ 713 713 */ \ 714 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0); \714 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); \ 715 715 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); \ 716 716 IEM_MC_LOCAL(RTUINT128U, uSrc); \ … … 793 793 * Register, register. 794 794 */ 795 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);795 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 796 796 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse41); 797 797 IEM_MC_ARG(PCRTUINT128U, puSrc1, 0); … … 812 812 * Register, memory. 813 813 */ 814 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);814 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 815 815 IEM_MC_ARG(PCRTUINT128U, puSrc1, 0); 816 816 IEM_MC_LOCAL(RTUINT128U, uSrc2); … … 914 914 * Register, register. \ 915 915 */ \ 916 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0); \916 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); \ 917 917 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse41); \ 918 918 IEM_MC_ARG(PRTUINT128U, puDst, 0); \ … … 934 934 * Register, memory. \ 935 935 */ \ 936 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0); \936 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); \ 937 937 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); \ 938 938 IEM_MC_ARG(PRTUINT128U, puDst, 0); \ … … 1047 1047 { 1048 1048 /* Register, memory. */ 1049 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1049 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1050 1050 IEM_MC_LOCAL(RTUINT128U, uSrc); 1051 1051 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1325 1325 if (pVCpu->iem.s.enmEffOpSize == IEMMODE_64BIT) 1326 1326 { 1327 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0);1327 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 1328 1328 IEM_MC_ARG(RTGCPTR, GCPtrInveptDesc, 1); 1329 1329 IEM_MC_CALC_RM_EFF_ADDR(GCPtrInveptDesc, bRm, 0); … … 1340 1340 else 1341 1341 { 1342 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);1342 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1343 1343 IEM_MC_ARG(RTGCPTR, GCPtrInveptDesc, 1); 1344 1344 IEM_MC_CALC_RM_EFF_ADDR(GCPtrInveptDesc, bRm, 0); … … 1374 1374 if (pVCpu->iem.s.enmEffOpSize == IEMMODE_64BIT) 1375 1375 { 1376 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0);1376 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 1377 1377 IEM_MC_ARG(RTGCPTR, GCPtrInvvpidDesc, 1); 1378 1378 IEM_MC_CALC_RM_EFF_ADDR(GCPtrInvvpidDesc, bRm, 0); … … 1389 1389 else 1390 1390 { 1391 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);1391 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1392 1392 IEM_MC_ARG(RTGCPTR, GCPtrInvvpidDesc, 1); 1393 1393 IEM_MC_CALC_RM_EFF_ADDR(GCPtrInvvpidDesc, bRm, 0); … … 1421 1421 if (pVCpu->iem.s.enmEffOpSize == IEMMODE_64BIT) 1422 1422 { 1423 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0);1423 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 1424 1424 IEM_MC_ARG(RTGCPTR, GCPtrInvpcidDesc, 1); 1425 1425 IEM_MC_CALC_RM_EFF_ADDR(GCPtrInvpcidDesc, bRm, 0); … … 1433 1433 else 1434 1434 { 1435 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);1435 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1436 1436 IEM_MC_ARG(RTGCPTR, GCPtrInvpcidDesc, 1); 1437 1437 IEM_MC_CALC_RM_EFF_ADDR(GCPtrInvpcidDesc, bRm, 0); … … 1579 1579 * Register, register. 1580 1580 */ 1581 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);1581 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1582 1582 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSha); 1583 1583 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 1599 1599 * Register, memory. 1600 1600 */ 1601 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1601 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1602 1602 IEM_MC_ARG(PRTUINT128U, puDst, 0); 1603 1603 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 1744 1744 { 1745 1745 case IEMMODE_16BIT: 1746 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1746 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1747 1747 IEM_MC_LOCAL(uint16_t, uSrc); 1748 1748 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1760 1760 1761 1761 case IEMMODE_32BIT: 1762 IEM_MC_BEGIN( 0, 2,IEM_MC_F_MIN_386, 0);1762 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 1763 1763 IEM_MC_LOCAL(uint32_t, uSrc); 1764 1764 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1776 1776 1777 1777 case IEMMODE_64BIT: 1778 IEM_MC_BEGIN( 0, 2,IEM_MC_F_64BIT, 0);1778 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 1779 1779 IEM_MC_LOCAL(uint64_t, uSrc); 1780 1780 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1818 1818 * Register, register. 1819 1819 */ 1820 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);1820 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1821 1821 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 1822 1822 IEM_MC_ARG(uint32_t *, puDst, 0); … … 1834 1834 * Register, memory. 1835 1835 */ 1836 IEM_MC_BEGIN( 2, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);1836 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1837 1837 IEM_MC_ARG(uint32_t *, puDst, 0); 1838 1838 IEM_MC_ARG(uint8_t, uSrc, 1); … … 1869 1869 { 1870 1870 case IEMMODE_16BIT: 1871 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1871 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1872 1872 IEM_MC_LOCAL(uint16_t, u16Value); 1873 1873 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 1882 1882 1883 1883 case IEMMODE_32BIT: 1884 IEM_MC_BEGIN( 0, 2,IEM_MC_F_MIN_386, 0);1884 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 1885 1885 IEM_MC_LOCAL(uint32_t, u32Value); 1886 1886 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 1895 1895 1896 1896 case IEMMODE_64BIT: 1897 IEM_MC_BEGIN( 0, 2,IEM_MC_F_64BIT, 0);1897 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 1898 1898 IEM_MC_LOCAL(uint64_t, u64Value); 1899 1899 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 1937 1937 { 1938 1938 case IEMMODE_16BIT: 1939 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);1939 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1940 1940 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 1941 1941 IEM_MC_ARG(uint32_t *, puDst, 0); … … 1951 1951 1952 1952 case IEMMODE_32BIT: 1953 IEM_MC_BEGIN( 2, 0,IEM_MC_F_MIN_386, 0);1953 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 1954 1954 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 1955 1955 IEM_MC_ARG(uint32_t *, puDst, 0); … … 1965 1965 1966 1966 case IEMMODE_64BIT: 1967 IEM_MC_BEGIN( 2, 0,IEM_MC_F_64BIT, 0);1967 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 1968 1968 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 1969 1969 IEM_MC_ARG(uint32_t *, puDst, 0); … … 1989 1989 { 1990 1990 case IEMMODE_16BIT: 1991 IEM_MC_BEGIN( 2, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);1991 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1992 1992 IEM_MC_ARG(uint32_t *, puDst, 0); 1993 1993 IEM_MC_ARG(uint16_t, uSrc, 1); … … 2008 2008 2009 2009 case IEMMODE_32BIT: 2010 IEM_MC_BEGIN( 2, 1,IEM_MC_F_MIN_386, 0);2010 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 2011 2011 IEM_MC_ARG(uint32_t *, puDst, 0); 2012 2012 IEM_MC_ARG(uint32_t, uSrc, 1); … … 2027 2027 2028 2028 case IEMMODE_64BIT: 2029 IEM_MC_BEGIN( 2, 1,IEM_MC_F_64BIT, 0);2029 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 2030 2030 IEM_MC_ARG(uint32_t *, puDst, 0); 2031 2031 IEM_MC_ARG(uint64_t, uSrc, 1); … … 2083 2083 if (IEM_IS_MODRM_REG_MODE(bRm)) \ 2084 2084 { \ 2085 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0); \2085 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 2086 2086 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 2087 2087 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ … … 2098 2098 else \ 2099 2099 { \ 2100 IEM_MC_BEGIN( 3, 1,IEM_MC_F_64BIT, 0); \2100 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 2101 2101 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ 2102 2102 IEM_MC_ARG(uint64_t, u64Src, 1); \ … … 2118 2118 if (IEM_IS_MODRM_REG_MODE(bRm)) \ 2119 2119 { \ 2120 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0); \2120 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); \ 2121 2121 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 2122 2122 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ … … 2133 2133 else \ 2134 2134 { \ 2135 IEM_MC_BEGIN( 3, 1,IEM_MC_F_NOT_286_OR_OLDER, 0); \2135 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); \ 2136 2136 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ 2137 2137 IEM_MC_ARG(uint32_t, u32Src, 1); \ -
trunk/src/VBox/VMM/VMMAll/IEMAllInstThree0f3a.cpp.h
r103597 r104018 52 52 */ 53 53 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 54 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);54 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 55 55 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSsse3); 56 56 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 70 70 * Register, memory. 71 71 */ 72 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);72 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 73 73 IEM_MC_ARG(PRTUINT128U, puDst, 0); 74 74 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 111 111 */ 112 112 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 113 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);113 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 114 114 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse41); 115 115 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 129 129 * XMM, [mem128], imm8. 130 130 */ 131 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);131 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 132 132 IEM_MC_ARG(PRTUINT128U, puDst, 0); 133 133 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 171 171 */ 172 172 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 173 IEM_MC_BEGIN( 4, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);173 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 174 174 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse41); 175 175 IEM_MC_LOCAL(IEMMEDIAF2XMMSRC, Src); … … 196 196 * XMM, [mem128], imm8. 197 197 */ 198 IEM_MC_BEGIN( 4, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);198 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 199 199 IEM_MC_LOCAL(IEMMEDIAF2XMMSRC, Src); 200 200 IEM_MC_LOCAL(X86XMMREG, Dst); … … 242 242 */ 243 243 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 244 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);244 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 245 245 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fAesNi); 246 246 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 260 260 * Register, memory. 261 261 */ 262 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);262 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 263 263 IEM_MC_ARG(PRTUINT128U, puDst, 0); 264 264 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 322 322 */ 323 323 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 324 IEM_MC_BEGIN( 4, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);324 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 325 325 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse41); 326 326 IEM_MC_LOCAL(IEMMEDIAF2XMMSRC, Src); … … 346 346 * XMM32, [mem32]. 347 347 */ 348 IEM_MC_BEGIN( 4, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);348 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 349 349 IEM_MC_LOCAL(IEMMEDIAF2XMMSRC, Src); 350 350 IEM_MC_LOCAL(X86XMMREG, Dst); … … 386 386 */ 387 387 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 388 IEM_MC_BEGIN( 4, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);388 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 389 389 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse41); 390 390 IEM_MC_LOCAL(IEMMEDIAF2XMMSRC, Src); … … 410 410 * XMM64, [mem64], imm8. 411 411 */ 412 IEM_MC_BEGIN( 4, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);412 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 413 413 IEM_MC_LOCAL(IEMMEDIAF2XMMSRC, Src); 414 414 IEM_MC_LOCAL(X86XMMREG, Dst); … … 478 478 /** @todo testcase: REX.B / REX.R and segment register indexing. Ignored? */ 479 479 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 480 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);480 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 481 481 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSsse3); 482 482 IEM_MC_ARG(uint64_t *, pDst, 0); … … 499 499 * Register, memory. 500 500 */ 501 IEM_MC_BEGIN( 3, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);501 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 502 502 IEM_MC_ARG(uint64_t *, pDst, 0); 503 503 IEM_MC_ARG(uint64_t, uSrc, 1); … … 550 550 */ 551 551 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 552 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);552 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 553 553 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse41); 554 554 IEM_MC_LOCAL(uint8_t, uValue); … … 565 565 * [mem8], XMM. 566 566 */ 567 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);567 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 568 568 IEM_MC_LOCAL(uint8_t, uValue); 569 569 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 594 594 */ 595 595 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 596 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);596 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 597 597 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse41); 598 598 IEM_MC_LOCAL(uint16_t, uValue); … … 609 609 * [mem16], XMM. 610 610 */ 611 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);611 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 612 612 IEM_MC_LOCAL(uint16_t, uValue); 613 613 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 645 645 */ 646 646 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 647 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);647 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 648 648 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse41); 649 649 IEM_MC_LOCAL(uint64_t, uSrc); … … 660 660 * [mem64], XMM. 661 661 */ 662 IEM_MC_BEGIN( 0, 2,IEM_MC_F_64BIT, 0);662 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 663 663 IEM_MC_LOCAL(uint64_t, uSrc); 664 664 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 692 692 */ 693 693 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 694 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);694 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 695 695 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse41); 696 696 IEM_MC_LOCAL(uint32_t, uSrc); … … 707 707 * [mem32], XMM. 708 708 */ 709 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);709 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 710 710 IEM_MC_LOCAL(uint32_t, uSrc); 711 711 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 736 736 */ 737 737 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 738 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);738 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 739 739 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse41); 740 740 IEM_MC_LOCAL(uint32_t, uSrc); … … 751 751 * [mem32], XMM. 752 752 */ 753 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);753 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 754 754 IEM_MC_LOCAL(uint32_t, uSrc); 755 755 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 789 789 */ 790 790 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 791 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);791 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 792 792 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse41); 793 793 IEM_MC_LOCAL(uint8_t, uSrc); … … 804 804 * XMM, [mem8]. 805 805 */ 806 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);806 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 807 807 IEM_MC_LOCAL(uint8_t, uSrc); 808 808 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 832 832 */ 833 833 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 834 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);834 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 835 835 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse41); 836 836 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); … … 850 850 * XMM, [mem32]. 851 851 */ 852 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);852 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 853 853 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 854 854 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 1); … … 886 886 */ 887 887 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 888 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);888 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 889 889 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse41); 890 890 IEM_MC_LOCAL(uint64_t, uSrc); … … 901 901 * XMM, [mem64]. 902 902 */ 903 IEM_MC_BEGIN( 0, 2,IEM_MC_F_64BIT, 0);903 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 904 904 IEM_MC_LOCAL(uint64_t, uSrc); 905 905 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 933 933 */ 934 934 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 935 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);935 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 936 936 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse41); 937 937 IEM_MC_LOCAL(uint32_t, uSrc); … … 948 948 * XMM, [mem32]. 949 949 */ 950 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);950 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 951 951 IEM_MC_LOCAL(uint32_t, uSrc); 952 952 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1042 1042 */ 1043 1043 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 1044 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);1044 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1045 1045 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fPclMul); 1046 1046 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 1063 1063 * Register, memory. 1064 1064 */ 1065 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1065 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1066 1066 IEM_MC_ARG(PRTUINT128U, puDst, 0); 1067 1067 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 1139 1139 */ 1140 1140 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 1141 IEM_MC_BEGIN( 4, 1,IEM_MC_F_64BIT, 0);1141 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 1142 1142 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse42); 1143 1143 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 1163 1163 * Register, memory. 1164 1164 */ 1165 IEM_MC_BEGIN( 4, 3,IEM_MC_F_64BIT, 0);1165 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 1166 1166 IEM_MC_ARG(PRTUINT128U, puDst, 0); 1167 1167 IEM_MC_ARG(uint32_t *, pEFlags, 1); … … 1197 1197 */ 1198 1198 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 1199 IEM_MC_BEGIN( 4, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);1199 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1200 1200 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse42); 1201 1201 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 1221 1221 * Register, memory. 1222 1222 */ 1223 IEM_MC_BEGIN( 4, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);1223 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1224 1224 IEM_MC_ARG(PRTUINT128U, puDst, 0); 1225 1225 IEM_MC_ARG(uint32_t *, pEFlags, 1); … … 1269 1269 */ 1270 1270 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 1271 IEM_MC_BEGIN( 4, 1,IEM_MC_F_64BIT, 0);1271 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 1272 1272 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse42); 1273 1273 IEM_MC_ARG(uint32_t *, pu32Ecx, 0); … … 1295 1295 * Register, memory. 1296 1296 */ 1297 IEM_MC_BEGIN( 4, 3,IEM_MC_F_64BIT, 0);1297 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 1298 1298 IEM_MC_ARG(uint32_t *, pu32Ecx, 0); 1299 1299 IEM_MC_ARG(uint32_t *, pEFlags, 1); … … 1331 1331 */ 1332 1332 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 1333 IEM_MC_BEGIN( 4, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);1333 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1334 1334 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse42); 1335 1335 IEM_MC_ARG(uint32_t *, pu32Ecx, 0); … … 1357 1357 * Register, memory. 1358 1358 */ 1359 IEM_MC_BEGIN( 4, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);1359 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1360 1360 IEM_MC_ARG(uint32_t *, pu32Ecx, 0); 1361 1361 IEM_MC_ARG(uint32_t *, pEFlags, 1); … … 1405 1405 */ 1406 1406 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 1407 IEM_MC_BEGIN( 4, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);1407 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1408 1408 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse42); 1409 1409 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 1429 1429 * Register, memory. 1430 1430 */ 1431 IEM_MC_BEGIN( 4, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);1431 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1432 1432 IEM_MC_ARG(PRTUINT128U, puDst, 0); 1433 1433 IEM_MC_ARG(uint32_t *, pEFlags, 1); … … 1473 1473 */ 1474 1474 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 1475 IEM_MC_BEGIN( 4, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);1475 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1476 1476 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse42); 1477 1477 IEM_MC_ARG(uint32_t *, pu32Ecx, 0); … … 1499 1499 * Register, memory. 1500 1500 */ 1501 IEM_MC_BEGIN( 4, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);1501 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1502 1502 IEM_MC_ARG(uint32_t *, pu32Ecx, 0); 1503 1503 IEM_MC_ARG(uint32_t *, pEFlags, 1); … … 1570 1570 */ 1571 1571 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 1572 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);1572 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1573 1573 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSha); 1574 1574 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 1591 1591 * XMM, [mem128], imm8. 1592 1592 */ 1593 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1593 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1594 1594 IEM_MC_ARG(PRTUINT128U, puDst, 0); 1595 1595 IEM_MC_LOCAL(RTUINT128U, uSrc); -
trunk/src/VBox/VMM/VMMAll/IEMAllInstTwoByte0f.cpp.h
r104017 r104018 50 50 /** @todo testcase: REX.B / REX.R and MMX register indexing. Ignored? */ 51 51 /** @todo testcase: REX.B / REX.R and segment register indexing. Ignored? */ 52 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);52 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 53 53 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fMmx); 54 54 IEM_MC_ARG(uint64_t *, pDst, 0); … … 71 71 * MMX, [mem64]. 72 72 */ 73 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);73 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 74 74 IEM_MC_ARG(uint64_t *, pDst, 0); 75 75 IEM_MC_LOCAL(uint64_t, uSrc); … … 112 112 /** @todo testcase: REX.B / REX.R and MMX register indexing. Ignored? */ 113 113 /** @todo testcase: REX.B / REX.R and segment register indexing. Ignored? */ 114 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);114 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 115 115 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fMmx); 116 116 IEM_MC_ARG(uint64_t *, pDst, 0); … … 133 133 * MMX, [mem64]. 134 134 */ 135 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);135 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 136 136 IEM_MC_ARG(uint64_t *, pDst, 0); 137 137 IEM_MC_LOCAL(uint64_t, uSrc); … … 172 172 /** @todo testcase: REX.B / REX.R and MMX register indexing. Ignored? */ 173 173 /** @todo testcase: REX.B / REX.R and segment register indexing. Ignored? */ 174 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);174 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 175 175 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX_2_OR(fSse, fAmdMmxExts); 176 176 IEM_MC_ARG(uint64_t *, pDst, 0); … … 193 193 * MMX, [mem64]. 194 194 */ 195 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);195 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 196 196 IEM_MC_ARG(uint64_t *, pDst, 0); 197 197 IEM_MC_LOCAL(uint64_t, uSrc); … … 235 235 /** @todo testcase: REX.B / REX.R and MMX register indexing. Ignored? */ 236 236 /** @todo testcase: REX.B / REX.R and segment register indexing. Ignored? */ 237 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);237 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 238 238 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX_2_OR(fSse, fAmdMmxExts); 239 239 IEM_MC_ARG(uint64_t *, pDst, 0); … … 256 256 * MMX, [mem64]. 257 257 */ 258 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);258 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 259 259 IEM_MC_ARG(uint64_t *, pDst, 0); 260 260 IEM_MC_LOCAL(uint64_t, uSrc); … … 295 295 /** @todo testcase: REX.B / REX.R and MMX register indexing. Ignored? */ 296 296 /** @todo testcase: REX.B / REX.R and segment register indexing. Ignored? */ 297 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);297 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 298 298 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 299 299 IEM_MC_ARG(uint64_t *, pDst, 0); … … 316 316 * MMX, [mem64]. 317 317 */ 318 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);318 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 319 319 IEM_MC_ARG(uint64_t *, pDst, 0); 320 320 IEM_MC_LOCAL(uint64_t, uSrc); … … 357 357 * XMM, XMM. 358 358 */ 359 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);359 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 360 360 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse); 361 361 IEM_MC_ARG(PRTUINT128U, pDst, 0); … … 374 374 * XMM, [mem128]. 375 375 */ 376 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);376 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 377 377 IEM_MC_ARG(PRTUINT128U, pDst, 0); 378 378 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 412 412 * XMM, XMM. 413 413 */ 414 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);414 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 415 415 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 416 416 IEM_MC_ARG(PRTUINT128U, pDst, 0); … … 429 429 * XMM, [mem128]. 430 430 */ 431 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);431 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 432 432 IEM_MC_ARG(PRTUINT128U, pDst, 0); 433 433 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 470 470 * XMM, XMM. 471 471 */ 472 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);472 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 473 473 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 474 474 IEM_MC_ARG(PRTUINT128U, pDst, 0); … … 487 487 * XMM, [mem128]. 488 488 */ 489 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);489 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 490 490 IEM_MC_ARG(PRTUINT128U, pDst, 0); 491 491 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 523 523 * MMX, MMX. 524 524 */ 525 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);525 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 526 526 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fMmx); 527 527 IEM_MC_ARG(uint64_t *, puDst, 0); … … 544 544 * MMX, [mem32]. 545 545 */ 546 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);546 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 547 547 IEM_MC_ARG(uint64_t *, puDst, 0); 548 548 IEM_MC_LOCAL(uint64_t, uSrc); … … 585 585 * XMM, XMM. 586 586 */ 587 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);587 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 588 588 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse); 589 589 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 602 602 * XMM, [mem128]. 603 603 */ 604 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);604 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 605 605 IEM_MC_ARG(PRTUINT128U, puDst, 0); 606 606 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 645 645 * XMM, XMM. 646 646 */ 647 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);647 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 648 648 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 649 649 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 662 662 * XMM, [mem128]. 663 663 */ 664 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);664 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 665 665 IEM_MC_ARG(PRTUINT128U, puDst, 0); 666 666 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 705 705 /** @todo testcase: REX.B / REX.R and MMX register indexing. Ignored? */ 706 706 /** @todo testcase: REX.B / REX.R and segment register indexing. Ignored? */ 707 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);707 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 708 708 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fMmx); 709 709 IEM_MC_ARG(uint64_t *, puDst, 0); … … 726 726 * MMX, [mem64]. 727 727 */ 728 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);728 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 729 729 IEM_MC_ARG(uint64_t *, puDst, 0); 730 730 IEM_MC_LOCAL(uint64_t, uSrc); … … 767 767 * XMM, XMM. 768 768 */ 769 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);769 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 770 770 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse); 771 771 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 784 784 * XMM, [mem128]. 785 785 */ 786 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);786 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 787 787 IEM_MC_ARG(PRTUINT128U, puDst, 0); 788 788 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 827 827 * XMM128, XMM128. 828 828 */ 829 IEM_MC_BEGIN( 3, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);829 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 830 830 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse); 831 831 IEM_MC_LOCAL(IEMSSERESULT, SseRes); … … 849 849 * XMM128, [mem128]. 850 850 */ 851 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);851 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 852 852 IEM_MC_LOCAL(IEMSSERESULT, SseRes); 853 853 IEM_MC_LOCAL(X86XMMREG, uSrc2); … … 891 891 * XMM128, XMM32. 892 892 */ 893 IEM_MC_BEGIN( 3, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);893 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 894 894 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse); 895 895 IEM_MC_LOCAL(IEMSSERESULT, SseRes); … … 913 913 * XMM128, [mem32]. 914 914 */ 915 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);915 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 916 916 IEM_MC_LOCAL(IEMSSERESULT, SseRes); 917 917 IEM_MC_LOCAL(RTFLOAT32U, r32Src2); … … 955 955 * XMM128, XMM128. 956 956 */ 957 IEM_MC_BEGIN( 3, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);957 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 958 958 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 959 959 IEM_MC_LOCAL(IEMSSERESULT, SseRes); … … 977 977 * XMM128, [mem128]. 978 978 */ 979 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);979 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 980 980 IEM_MC_LOCAL(IEMSSERESULT, SseRes); 981 981 IEM_MC_LOCAL(X86XMMREG, uSrc2); … … 1019 1019 * XMM, XMM. 1020 1020 */ 1021 IEM_MC_BEGIN( 3, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);1021 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1022 1022 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 1023 1023 IEM_MC_LOCAL(IEMSSERESULT, SseRes); … … 1041 1041 * XMM, [mem64]. 1042 1042 */ 1043 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1043 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1044 1044 IEM_MC_LOCAL(IEMSSERESULT, SseRes); 1045 1045 IEM_MC_LOCAL(RTFLOAT64U, r64Src2); … … 1083 1083 * XMM, XMM. 1084 1084 */ 1085 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);1085 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1086 1086 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 1087 1087 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 1100 1100 * XMM, [mem128]. 1101 1101 */ 1102 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1102 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1103 1103 IEM_MC_ARG(PRTUINT128U, puDst, 0); 1104 1104 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 1143 1143 * XMM, XMM. 1144 1144 */ 1145 IEM_MC_BEGIN( 3, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);1145 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1146 1146 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse3); 1147 1147 IEM_MC_LOCAL(IEMSSERESULT, SseRes); … … 1165 1165 * XMM, [mem128]. 1166 1166 */ 1167 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1167 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1168 1168 IEM_MC_LOCAL(IEMSSERESULT, SseRes); 1169 1169 IEM_MC_LOCAL(X86XMMREG, uSrc2); … … 1205 1205 1206 1206 /* Ignore operand size here, memory refs are always 16-bit. */ 1207 IEM_MC_BEGIN( 2, 0,IEM_MC_F_MIN_286, 0);1207 IEM_MC_BEGIN(IEM_MC_F_MIN_286, 0); 1208 1208 IEM_MC_ARG(RTGCPTR, GCPtrEffDst, 1); 1209 1209 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 1231 1231 1232 1232 /* Ignore operand size here, memory refs are always 16-bit. */ 1233 IEM_MC_BEGIN( 2, 0,IEM_MC_F_MIN_286, 0);1233 IEM_MC_BEGIN(IEM_MC_F_MIN_286, 0); 1234 1234 IEM_MC_ARG(RTGCPTR, GCPtrEffDst, 1); 1235 1235 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 1250 1250 if (IEM_IS_MODRM_REG_MODE(bRm)) 1251 1251 { 1252 IEM_MC_BEGIN( 1, 0,IEM_MC_F_MIN_286, 0);1252 IEM_MC_BEGIN(IEM_MC_F_MIN_286, 0); 1253 1253 IEMOP_HLP_DECODED_NL_1(OP_LLDT, IEMOPFORM_M_REG, OP_PARM_Ew, DISOPTYPE_DANGEROUS); 1254 1254 IEM_MC_ARG(uint16_t, u16Sel, 0); … … 1259 1259 else 1260 1260 { 1261 IEM_MC_BEGIN( 1, 1,IEM_MC_F_MIN_286, 0);1261 IEM_MC_BEGIN(IEM_MC_F_MIN_286, 0); 1262 1262 IEM_MC_ARG(uint16_t, u16Sel, 0); 1263 1263 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1281 1281 if (IEM_IS_MODRM_REG_MODE(bRm)) 1282 1282 { 1283 IEM_MC_BEGIN( 1, 0,IEM_MC_F_MIN_286, 0);1283 IEM_MC_BEGIN(IEM_MC_F_MIN_286, 0); 1284 1284 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 1285 1285 IEM_MC_ARG(uint16_t, u16Sel, 0); … … 1290 1290 else 1291 1291 { 1292 IEM_MC_BEGIN( 1, 1,IEM_MC_F_MIN_286, 0);1292 IEM_MC_BEGIN(IEM_MC_F_MIN_286, 0); 1293 1293 IEM_MC_ARG(uint16_t, u16Sel, 0); 1294 1294 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1310 1310 if (IEM_IS_MODRM_REG_MODE(bRm)) \ 1311 1311 { \ 1312 IEM_MC_BEGIN( 2, 0,IEM_MC_F_MIN_286, 0); \1312 IEM_MC_BEGIN(IEM_MC_F_MIN_286, 0); \ 1313 1313 IEMOP_HLP_DECODED_NL_1(fWrite ? OP_VERW : OP_VERR, IEMOPFORM_M_MEM, OP_PARM_Ew, DISOPTYPE_DANGEROUS | DISOPTYPE_PRIVILEGED_NOTRAP); \ 1314 1314 IEM_MC_ARG(uint16_t, u16Sel, 0); \ … … 1320 1320 else \ 1321 1321 { \ 1322 IEM_MC_BEGIN( 2, 1,IEM_MC_F_MIN_286, 0); \1322 IEM_MC_BEGIN(IEM_MC_F_MIN_286, 0); \ 1323 1323 IEM_MC_ARG(uint16_t, u16Sel, 0); \ 1324 1324 IEM_MC_ARG_CONST(bool, fWriteArg, fWrite, 1); \ … … 1384 1384 IEMOP_HLP_MIN_286(); 1385 1385 IEMOP_HLP_64BIT_OP_SIZE(); 1386 IEM_MC_BEGIN( 2, 1,IEM_MC_F_MIN_286, 0);1386 IEM_MC_BEGIN(IEM_MC_F_MIN_286, 0); 1387 1387 IEM_MC_ARG(RTGCPTR, GCPtrEffSrc, 1); 1388 1388 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); … … 1475 1475 IEMOP_HLP_MIN_286(); 1476 1476 IEMOP_HLP_64BIT_OP_SIZE(); 1477 IEM_MC_BEGIN( 2, 1,IEM_MC_F_MIN_286, 0);1477 IEM_MC_BEGIN(IEM_MC_F_MIN_286, 0); 1478 1478 IEM_MC_ARG(RTGCPTR, GCPtrEffSrc, 1); 1479 1479 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); … … 1508 1508 IEMOP_MNEMONIC(lgdt, "lgdt"); 1509 1509 IEMOP_HLP_64BIT_OP_SIZE(); 1510 IEM_MC_BEGIN( 3, 1,0, 0);1510 IEM_MC_BEGIN(0, 0); 1511 1511 IEM_MC_ARG(RTGCPTR, GCPtrEffSrc, 1); 1512 1512 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); … … 1563 1563 IEMOP_MNEMONIC(lidt, "lidt"); 1564 1564 IEMMODE enmEffOpSize = IEM_IS_64BIT_CODE(pVCpu) ? IEMMODE_64BIT : pVCpu->iem.s.enmEffOpSize; 1565 IEM_MC_BEGIN( 3, 1,0, 0);1565 IEM_MC_BEGIN(0, 0); 1566 1566 IEM_MC_ARG(RTGCPTR, GCPtrEffSrc, 1); 1567 1567 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); … … 1695 1695 1696 1696 /* Ignore operand size here, memory refs are always 16-bit. */ 1697 IEM_MC_BEGIN( 2, 0,IEM_MC_F_MIN_286, 0);1697 IEM_MC_BEGIN(IEM_MC_F_MIN_286, 0); 1698 1698 IEM_MC_ARG(RTGCPTR, GCPtrEffDst, 1); 1699 1699 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 1714 1714 if (IEM_IS_MODRM_REG_MODE(bRm)) 1715 1715 { 1716 IEM_MC_BEGIN( 2, 0,IEM_MC_F_MIN_286, 0);1716 IEM_MC_BEGIN(IEM_MC_F_MIN_286, 0); 1717 1717 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 1718 1718 IEM_MC_ARG(uint16_t, u16Tmp, 0); … … 1725 1725 else 1726 1726 { 1727 IEM_MC_BEGIN( 2, 0,IEM_MC_F_MIN_286, 0);1727 IEM_MC_BEGIN(IEM_MC_F_MIN_286, 0); 1728 1728 IEM_MC_ARG(uint16_t, u16Tmp, 0); 1729 1729 IEM_MC_ARG(RTGCPTR, GCPtrEffDst, 1); … … 1743 1743 IEMOP_MNEMONIC(invlpg, "invlpg"); 1744 1744 IEMOP_HLP_MIN_486(); 1745 IEM_MC_BEGIN( 1, 1,IEM_MC_F_MIN_386, 0);1745 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 1746 1746 IEM_MC_ARG(RTGCPTR, GCPtrEffDst, 0); 1747 1747 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 1871 1871 { 1872 1872 case IEMMODE_16BIT: 1873 IEM_MC_BEGIN( 3, 0,0, 0);1873 IEM_MC_BEGIN(0, 0); 1874 1874 IEMOP_HLP_DECODED_NL_2(fIsLar ? OP_LAR : OP_LSL, IEMOPFORM_RM_REG, OP_PARM_Gv, OP_PARM_Ew, DISOPTYPE_DANGEROUS | DISOPTYPE_PRIVILEGED_NOTRAP); 1875 1875 IEM_MC_ARG(uint16_t *, pu16Dst, 0); … … 1887 1887 case IEMMODE_32BIT: 1888 1888 case IEMMODE_64BIT: 1889 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_386, 0);1889 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 1890 1890 IEMOP_HLP_DECODED_NL_2(fIsLar ? OP_LAR : OP_LSL, IEMOPFORM_RM_REG, OP_PARM_Gv, OP_PARM_Ew, DISOPTYPE_DANGEROUS | DISOPTYPE_PRIVILEGED_NOTRAP); 1891 1891 IEM_MC_ARG(uint64_t *, pu64Dst, 0); … … 1909 1909 { 1910 1910 case IEMMODE_16BIT: 1911 IEM_MC_BEGIN( 3, 1,0, 0);1911 IEM_MC_BEGIN(0, 0); 1912 1912 IEM_MC_ARG(uint16_t *, pu16Dst, 0); 1913 1913 IEM_MC_ARG(uint16_t, u16Sel, 1); … … 1928 1928 case IEMMODE_32BIT: 1929 1929 case IEMMODE_64BIT: 1930 IEM_MC_BEGIN( 3, 1,IEM_MC_F_MIN_386, 0);1930 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 1931 1931 IEM_MC_ARG(uint64_t *, pu64Dst, 0); 1932 1932 IEM_MC_ARG(uint16_t, u16Sel, 1); … … 2064 2064 } 2065 2065 2066 IEM_MC_BEGIN(0, 1, 0,0);2066 IEM_MC_BEGIN(0, 0); 2067 2067 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 2068 2068 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); … … 2080 2080 IEMOP_MNEMONIC(femms, "femms"); 2081 2081 2082 IEM_MC_BEGIN(0, 0 , 0, 0);2082 IEM_MC_BEGIN(0, 0); 2083 2083 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 2084 2084 IEM_MC_MAYBE_RAISE_DEVICE_NOT_AVAILABLE(); … … 2129 2129 * XMM128, XMM128. 2130 2130 */ 2131 IEM_MC_BEGIN(0, 0 , 0, 0);2131 IEM_MC_BEGIN(0, 0); 2132 2132 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse); 2133 2133 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); … … 2143 2143 * XMM128, [mem128]. 2144 2144 */ 2145 IEM_MC_BEGIN(0, 2, 0,0);2145 IEM_MC_BEGIN(0, 0); 2146 2146 IEM_MC_LOCAL(RTUINT128U, uSrc); /** @todo optimize this one day... */ 2147 2147 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 2180 2180 * XMM128, XMM128. 2181 2181 */ 2182 IEM_MC_BEGIN(0, 0 , 0, 0);2182 IEM_MC_BEGIN(0, 0); 2183 2183 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 2184 2184 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); … … 2194 2194 * XMM128, [mem128]. 2195 2195 */ 2196 IEM_MC_BEGIN(0, 2, 0,0);2196 IEM_MC_BEGIN(0, 0); 2197 2197 IEM_MC_LOCAL(RTUINT128U, uSrc); /** @todo optimize this one day... */ 2198 2198 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 2230 2230 * XMM32, XMM32. 2231 2231 */ 2232 IEM_MC_BEGIN(0, 1, 0,0);2232 IEM_MC_BEGIN(0, 0); 2233 2233 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse); 2234 2234 IEM_MC_LOCAL(uint32_t, uSrc); … … 2247 2247 * XMM128, [mem32]. 2248 2248 */ 2249 IEM_MC_BEGIN(0, 2, 0,0);2249 IEM_MC_BEGIN(0, 0); 2250 2250 IEM_MC_LOCAL(uint32_t, uSrc); 2251 2251 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 2283 2283 * XMM64, XMM64. 2284 2284 */ 2285 IEM_MC_BEGIN(0, 1, 0,0);2285 IEM_MC_BEGIN(0, 0); 2286 2286 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 2287 2287 IEM_MC_LOCAL(uint64_t, uSrc); … … 2300 2300 * XMM128, [mem64]. 2301 2301 */ 2302 IEM_MC_BEGIN(0, 2, 0,0);2302 IEM_MC_BEGIN(0, 0); 2303 2303 IEM_MC_LOCAL(uint64_t, uSrc); 2304 2304 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 2336 2336 * XMM128, XMM128. 2337 2337 */ 2338 IEM_MC_BEGIN(0, 0 , 0, 0);2338 IEM_MC_BEGIN(0, 0); 2339 2339 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse); 2340 2340 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); … … 2350 2350 * [mem128], XMM128. 2351 2351 */ 2352 IEM_MC_BEGIN(0, 2, 0,0);2352 IEM_MC_BEGIN(0, 0); 2353 2353 IEM_MC_LOCAL(RTUINT128U, uSrc); /** @todo optimize this one day... */ 2354 2354 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 2386 2386 * XMM128, XMM128. 2387 2387 */ 2388 IEM_MC_BEGIN(0, 0 , 0, 0);2388 IEM_MC_BEGIN(0, 0); 2389 2389 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 2390 2390 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); … … 2400 2400 * [mem128], XMM128. 2401 2401 */ 2402 IEM_MC_BEGIN(0, 2, 0,0);2402 IEM_MC_BEGIN(0, 0); 2403 2403 IEM_MC_LOCAL(RTUINT128U, uSrc); /** @todo optimize this one day... */ 2404 2404 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 2436 2436 * XMM32, XMM32. 2437 2437 */ 2438 IEM_MC_BEGIN(0, 1, 0,0);2438 IEM_MC_BEGIN(0, 0); 2439 2439 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse); 2440 2440 IEM_MC_LOCAL(uint32_t, uSrc); … … 2453 2453 * [mem32], XMM32. 2454 2454 */ 2455 IEM_MC_BEGIN(0, 2, 0,0);2455 IEM_MC_BEGIN(0, 0); 2456 2456 IEM_MC_LOCAL(uint32_t, uSrc); 2457 2457 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 2489 2489 * XMM64, XMM64. 2490 2490 */ 2491 IEM_MC_BEGIN(0, 1, 0,0);2491 IEM_MC_BEGIN(0, 0); 2492 2492 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 2493 2493 IEM_MC_LOCAL(uint64_t, uSrc); … … 2506 2506 * [mem64], XMM64. 2507 2507 */ 2508 IEM_MC_BEGIN(0, 2, 0,0);2508 IEM_MC_BEGIN(0, 0); 2509 2509 IEM_MC_LOCAL(uint64_t, uSrc); 2510 2510 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 2541 2541 IEMOP_MNEMONIC2(RM_REG, MOVHLPS, movhlps, Vq_WO, UqHi, DISOPTYPE_HARMLESS | DISOPTYPE_X86_SSE, IEMOPHINT_IGNORES_OP_SIZES); 2542 2542 2543 IEM_MC_BEGIN(0, 1, 0,0);2543 IEM_MC_BEGIN(0, 0); 2544 2544 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse); 2545 2545 IEM_MC_LOCAL(uint64_t, uSrc); … … 2569 2569 IEMOP_MNEMONIC2(RM_MEM, MOVLPS, movlps, Vq_WO, Mq, DISOPTYPE_HARMLESS | DISOPTYPE_X86_SSE, IEMOPHINT_IGNORES_OP_SIZES); 2570 2570 2571 IEM_MC_BEGIN(0, 2, 0,0);2571 IEM_MC_BEGIN(0, 0); 2572 2572 IEM_MC_LOCAL(uint64_t, uSrc); 2573 2573 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 2604 2604 IEMOP_MNEMONIC2(RM_MEM, MOVLPD, movlpd, Vq_WO, Mq, DISOPTYPE_HARMLESS | DISOPTYPE_X86_SSE, IEMOPHINT_IGNORES_OP_SIZES); 2605 2605 2606 IEM_MC_BEGIN(0, 2, 0,0);2606 IEM_MC_BEGIN(0, 0); 2607 2607 IEM_MC_LOCAL(uint64_t, uSrc); 2608 2608 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 2653 2653 * XMM, XMM. 2654 2654 */ 2655 IEM_MC_BEGIN(0, 1, 0,0);2655 IEM_MC_BEGIN(0, 0); 2656 2656 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse3); 2657 2657 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 2674 2674 * XMM, [mem128]. 2675 2675 */ 2676 IEM_MC_BEGIN(0, 2, 0,0);2676 IEM_MC_BEGIN(0, 0); 2677 2677 IEM_MC_LOCAL(RTUINT128U, uSrc); 2678 2678 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 2713 2713 * XMM128, XMM64. 2714 2714 */ 2715 IEM_MC_BEGIN(0, 1, 0,0);2715 IEM_MC_BEGIN(0, 0); 2716 2716 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse3); 2717 2717 IEM_MC_LOCAL(uint64_t, uSrc); … … 2732 2732 * XMM128, [mem64]. 2733 2733 */ 2734 IEM_MC_BEGIN(0, 2, 0,0);2734 IEM_MC_BEGIN(0, 0); 2735 2735 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 2736 2736 IEM_MC_LOCAL(uint64_t, uSrc); … … 2768 2768 IEMOP_MNEMONIC2(MR_MEM, MOVLPS, movlps, Mq_WO, Vq, DISOPTYPE_HARMLESS | DISOPTYPE_X86_SSE, IEMOPHINT_IGNORES_OP_SIZES); 2769 2769 2770 IEM_MC_BEGIN(0, 2, 0,0);2770 IEM_MC_BEGIN(0, 0); 2771 2771 IEM_MC_LOCAL(uint64_t, uSrc); 2772 2772 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 2816 2816 IEMOP_MNEMONIC2(MR_MEM, MOVLPD, movlpd, Mq_WO, Vq, DISOPTYPE_HARMLESS | DISOPTYPE_X86_SSE, IEMOPHINT_IGNORES_OP_SIZES); 2817 2817 2818 IEM_MC_BEGIN(0, 2, 0,0);2818 IEM_MC_BEGIN(0, 0); 2819 2819 IEM_MC_LOCAL(uint64_t, uSrc); 2820 2820 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 2961 2961 IEMOP_MNEMONIC2(RM_REG, MOVLHPS, movlhps, VqHi_WO, Uq, DISOPTYPE_HARMLESS | DISOPTYPE_X86_SSE, IEMOPHINT_IGNORES_OP_SIZES); 2962 2962 2963 IEM_MC_BEGIN(0, 1, 0,0);2963 IEM_MC_BEGIN(0, 0); 2964 2964 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse); 2965 2965 IEM_MC_LOCAL(uint64_t, uSrc); … … 2989 2989 IEMOP_MNEMONIC2(RM_MEM, MOVHPS, movhps, VqHi_WO, Mq, DISOPTYPE_HARMLESS | DISOPTYPE_X86_SSE, IEMOPHINT_IGNORES_OP_SIZES); 2990 2990 2991 IEM_MC_BEGIN(0, 2, 0,0);2991 IEM_MC_BEGIN(0, 0); 2992 2992 IEM_MC_LOCAL(uint64_t, uSrc); 2993 2993 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 3024 3024 IEMOP_MNEMONIC2(RM_MEM, MOVHPD, movhpd, VqHi_WO, Mq, DISOPTYPE_HARMLESS | DISOPTYPE_X86_SSE, IEMOPHINT_IGNORES_OP_SIZES); 3025 3025 3026 IEM_MC_BEGIN(0, 2, 0,0);3026 IEM_MC_BEGIN(0, 0); 3027 3027 IEM_MC_LOCAL(uint64_t, uSrc); 3028 3028 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 3073 3073 * XMM128, XMM128. 3074 3074 */ 3075 IEM_MC_BEGIN(0, 1, 0,0);3075 IEM_MC_BEGIN(0, 0); 3076 3076 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse3); 3077 3077 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 3094 3094 * XMM128, [mem128]. 3095 3095 */ 3096 IEM_MC_BEGIN(0, 2, 0,0);3096 IEM_MC_BEGIN(0, 0); 3097 3097 IEM_MC_LOCAL(RTUINT128U, uSrc); 3098 3098 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 3143 3143 IEMOP_MNEMONIC2(MR_MEM, MOVHPS, movhps, Mq_WO, VqHi, DISOPTYPE_HARMLESS | DISOPTYPE_X86_SSE, IEMOPHINT_IGNORES_OP_SIZES); 3144 3144 3145 IEM_MC_BEGIN(0, 2, 0,0);3145 IEM_MC_BEGIN(0, 0); 3146 3146 IEM_MC_LOCAL(uint64_t, uSrc); 3147 3147 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 3191 3191 IEMOP_MNEMONIC2(MR_MEM, MOVHPD, movhpd, Mq_WO, VqHi, DISOPTYPE_HARMLESS | DISOPTYPE_X86_SSE, IEMOPHINT_IGNORES_OP_SIZES); 3192 3192 3193 IEM_MC_BEGIN(0, 2, 0,0);3193 IEM_MC_BEGIN(0, 0); 3194 3194 IEM_MC_LOCAL(uint64_t, uSrc); 3195 3195 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 3263 3263 } 3264 3264 3265 IEM_MC_BEGIN(0, 1, 0,0);3265 IEM_MC_BEGIN(0, 0); 3266 3266 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 3267 3267 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); … … 3284 3284 if (IEM_IS_MODRM_REG_MODE(bRm)) 3285 3285 { 3286 IEM_MC_BEGIN(0, 0 , 0, 0);3286 IEM_MC_BEGIN(0, 0); 3287 3287 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 3288 3288 IEM_MC_ADVANCE_RIP_AND_FINISH(); … … 3291 3291 else 3292 3292 { 3293 IEM_MC_BEGIN(0, 1, 0,0);3293 IEM_MC_BEGIN(0, 0); 3294 3294 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 3295 3295 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); … … 3453 3453 * Register, register. 3454 3454 */ 3455 IEM_MC_BEGIN(0, 0 , 0, 0);3455 IEM_MC_BEGIN(0, 0); 3456 3456 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse); 3457 3457 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); … … 3467 3467 * Register, memory. 3468 3468 */ 3469 IEM_MC_BEGIN(0, 2, 0,0);3469 IEM_MC_BEGIN(0, 0); 3470 3470 IEM_MC_LOCAL(RTUINT128U, uSrc); /** @todo optimize this one day... */ 3471 3471 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 3502 3502 * Register, register. 3503 3503 */ 3504 IEM_MC_BEGIN(0, 0 , 0, 0);3504 IEM_MC_BEGIN(0, 0); 3505 3505 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 3506 3506 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); … … 3516 3516 * Register, memory. 3517 3517 */ 3518 IEM_MC_BEGIN(0, 2, 0,0);3518 IEM_MC_BEGIN(0, 0); 3519 3519 IEM_MC_LOCAL(RTUINT128U, uSrc); /** @todo optimize this one day... */ 3520 3520 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 3554 3554 * Register, register. 3555 3555 */ 3556 IEM_MC_BEGIN(0, 0 , 0, 0);3556 IEM_MC_BEGIN(0, 0); 3557 3557 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse); 3558 3558 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); … … 3568 3568 * Memory, register. 3569 3569 */ 3570 IEM_MC_BEGIN(0, 2, 0,0);3570 IEM_MC_BEGIN(0, 0); 3571 3571 IEM_MC_LOCAL(RTUINT128U, uSrc); /** @todo optimize this one day... */ 3572 3572 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 3603 3603 * Register, register. 3604 3604 */ 3605 IEM_MC_BEGIN(0, 0 , 0, 0);3605 IEM_MC_BEGIN(0, 0); 3606 3606 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 3607 3607 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); … … 3617 3617 * Memory, register. 3618 3618 */ 3619 IEM_MC_BEGIN(0, 2, 0,0);3619 IEM_MC_BEGIN(0, 0); 3620 3620 IEM_MC_LOCAL(RTUINT128U, uSrc); /** @todo optimize this one day... */ 3621 3621 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 3648 3648 * XMM, MMX 3649 3649 */ 3650 IEM_MC_BEGIN( 3, 1,0, 0);3650 IEM_MC_BEGIN(0, 0); 3651 3651 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 3652 3652 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); … … 3678 3678 * XMM, [mem64] 3679 3679 */ 3680 IEM_MC_BEGIN( 3, 2,0, 0);3680 IEM_MC_BEGIN(0, 0); 3681 3681 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); 3682 3682 IEM_MC_LOCAL(X86XMMREG, Dst); … … 3718 3718 * XMM, MMX 3719 3719 */ 3720 IEM_MC_BEGIN( 3, 1,0, 0);3720 IEM_MC_BEGIN(0, 0); 3721 3721 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 3722 3722 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); … … 3747 3747 * XMM, [mem64] 3748 3748 */ 3749 IEM_MC_BEGIN( 3, 3,0, 0);3749 IEM_MC_BEGIN(0, 0); 3750 3750 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); 3751 3751 IEM_MC_LOCAL(X86XMMREG, Dst); … … 3788 3788 { 3789 3789 /* XMM, greg64 */ 3790 IEM_MC_BEGIN( 3, 2,IEM_MC_F_64BIT, 0);3790 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 3791 3791 IEM_MC_LOCAL(uint32_t, fMxcsr); 3792 3792 IEM_MC_LOCAL(RTFLOAT32U, r32Dst); … … 3814 3814 { 3815 3815 /* XMM, [mem64] */ 3816 IEM_MC_BEGIN( 3, 4,IEM_MC_F_64BIT, 0);3816 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 3817 3817 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 3818 3818 IEM_MC_LOCAL(uint32_t, fMxcsr); … … 3846 3846 { 3847 3847 /* greg, XMM */ 3848 IEM_MC_BEGIN( 3, 2,0, 0);3848 IEM_MC_BEGIN(0, 0); 3849 3849 IEM_MC_LOCAL(uint32_t, fMxcsr); 3850 3850 IEM_MC_LOCAL(RTFLOAT32U, r32Dst); … … 3872 3872 { 3873 3873 /* greg, [mem32] */ 3874 IEM_MC_BEGIN( 3, 4,0, 0);3874 IEM_MC_BEGIN(0, 0); 3875 3875 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 3876 3876 IEM_MC_LOCAL(uint32_t, fMxcsr); … … 3913 3913 { 3914 3914 /* XMM, greg64 */ 3915 IEM_MC_BEGIN( 3, 2,IEM_MC_F_64BIT, 0);3915 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 3916 3916 IEM_MC_LOCAL(uint32_t, fMxcsr); 3917 3917 IEM_MC_LOCAL(RTFLOAT64U, r64Dst); … … 3939 3939 { 3940 3940 /* XMM, [mem64] */ 3941 IEM_MC_BEGIN( 3, 4,IEM_MC_F_64BIT, 0);3941 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 3942 3942 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 3943 3943 IEM_MC_LOCAL(uint32_t, fMxcsr); … … 3971 3971 { 3972 3972 /* XMM, greg32 */ 3973 IEM_MC_BEGIN( 3, 2,0, 0);3973 IEM_MC_BEGIN(0, 0); 3974 3974 IEM_MC_LOCAL(uint32_t, fMxcsr); 3975 3975 IEM_MC_LOCAL(RTFLOAT64U, r64Dst); … … 3997 3997 { 3998 3998 /* XMM, [mem32] */ 3999 IEM_MC_BEGIN( 3, 4,0, 0);3999 IEM_MC_BEGIN(0, 0); 4000 4000 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 4001 4001 IEM_MC_LOCAL(uint32_t, fMxcsr); … … 4046 4046 * memory, register. 4047 4047 */ 4048 IEM_MC_BEGIN(0, 2, 0,0);4048 IEM_MC_BEGIN(0, 0); 4049 4049 IEM_MC_LOCAL(RTUINT128U, uSrc); /** @todo optimize this one day... */ 4050 4050 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 4085 4085 * memory, register. 4086 4086 */ 4087 IEM_MC_BEGIN(0, 2, 0,0);4087 IEM_MC_BEGIN(0, 0); 4088 4088 IEM_MC_LOCAL(RTUINT128U, uSrc); /** @todo optimize this one day... */ 4089 4089 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 4118 4118 * Register, register. 4119 4119 */ 4120 IEM_MC_BEGIN( 3, 1,0, 0);4120 IEM_MC_BEGIN(0, 0); 4121 4121 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 4122 4122 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); … … 4146 4146 * Register, memory. 4147 4147 */ 4148 IEM_MC_BEGIN( 3, 2,0, 0);4148 IEM_MC_BEGIN(0, 0); 4149 4149 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); 4150 4150 IEM_MC_LOCAL(uint64_t, u64Dst); … … 4185 4185 * Register, register. 4186 4186 */ 4187 IEM_MC_BEGIN( 3, 1,0, 0);4187 IEM_MC_BEGIN(0, 0); 4188 4188 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 4189 4189 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); … … 4213 4213 * Register, memory. 4214 4214 */ 4215 IEM_MC_BEGIN( 3, 3,0, 0);4215 IEM_MC_BEGIN(0, 0); 4216 4216 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); 4217 4217 IEM_MC_LOCAL(uint64_t, u64Dst); … … 4255 4255 { 4256 4256 /* greg64, XMM */ 4257 IEM_MC_BEGIN( 3, 2,IEM_MC_F_64BIT, 0);4257 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 4258 4258 IEM_MC_LOCAL(uint32_t, fMxcsr); 4259 4259 IEM_MC_LOCAL(int64_t, i64Dst); … … 4281 4281 { 4282 4282 /* greg64, [mem64] */ 4283 IEM_MC_BEGIN( 3, 4,IEM_MC_F_64BIT, 0);4283 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 4284 4284 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 4285 4285 IEM_MC_LOCAL(uint32_t, fMxcsr); … … 4313 4313 { 4314 4314 /* greg, XMM */ 4315 IEM_MC_BEGIN( 3, 2,0, 0);4315 IEM_MC_BEGIN(0, 0); 4316 4316 IEM_MC_LOCAL(uint32_t, fMxcsr); 4317 4317 IEM_MC_LOCAL(int32_t, i32Dst); … … 4339 4339 { 4340 4340 /* greg, [mem] */ 4341 IEM_MC_BEGIN( 3, 4,0, 0);4341 IEM_MC_BEGIN(0, 0); 4342 4342 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 4343 4343 IEM_MC_LOCAL(uint32_t, fMxcsr); … … 4380 4380 { 4381 4381 /* greg64, XMM */ 4382 IEM_MC_BEGIN( 3, 2,IEM_MC_F_64BIT, 0);4382 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 4383 4383 IEM_MC_LOCAL(uint32_t, fMxcsr); 4384 4384 IEM_MC_LOCAL(int64_t, i64Dst); … … 4406 4406 { 4407 4407 /* greg64, [mem64] */ 4408 IEM_MC_BEGIN( 3, 4,IEM_MC_F_64BIT, 0);4408 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 4409 4409 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 4410 4410 IEM_MC_LOCAL(uint32_t, fMxcsr); … … 4438 4438 { 4439 4439 /* greg, XMM */ 4440 IEM_MC_BEGIN( 3, 2,0, 0);4440 IEM_MC_BEGIN(0, 0); 4441 4441 IEM_MC_LOCAL(uint32_t, fMxcsr); 4442 4442 IEM_MC_LOCAL(int32_t, i32Dst); … … 4464 4464 { 4465 4465 /* greg32, [mem32] */ 4466 IEM_MC_BEGIN( 3, 4,0, 0);4466 IEM_MC_BEGIN(0, 0); 4467 4467 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 4468 4468 IEM_MC_LOCAL(uint32_t, fMxcsr); … … 4504 4504 * Register, register. 4505 4505 */ 4506 IEM_MC_BEGIN( 3, 1,0, 0);4506 IEM_MC_BEGIN(0, 0); 4507 4507 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 4508 4508 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); … … 4533 4533 * Register, memory. 4534 4534 */ 4535 IEM_MC_BEGIN( 3, 2,0, 0);4535 IEM_MC_BEGIN(0, 0); 4536 4536 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); 4537 4537 IEM_MC_LOCAL(uint64_t, u64Dst); … … 4572 4572 * Register, register. 4573 4573 */ 4574 IEM_MC_BEGIN( 3, 1,0, 0);4574 IEM_MC_BEGIN(0, 0); 4575 4575 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 4576 4576 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); … … 4601 4601 * Register, memory. 4602 4602 */ 4603 IEM_MC_BEGIN( 3, 3,0, 0);4603 IEM_MC_BEGIN(0, 0); 4604 4604 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); 4605 4605 IEM_MC_LOCAL(uint64_t, u64Dst); … … 4643 4643 { 4644 4644 /* greg64, XMM */ 4645 IEM_MC_BEGIN( 3, 2,IEM_MC_F_64BIT, 0);4645 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 4646 4646 IEM_MC_LOCAL(uint32_t, fMxcsr); 4647 4647 IEM_MC_LOCAL(int64_t, i64Dst); … … 4669 4669 { 4670 4670 /* greg64, [mem64] */ 4671 IEM_MC_BEGIN( 3, 4,IEM_MC_F_64BIT, 0);4671 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 4672 4672 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 4673 4673 IEM_MC_LOCAL(uint32_t, fMxcsr); … … 4701 4701 { 4702 4702 /* greg, XMM */ 4703 IEM_MC_BEGIN( 3, 2,0, 0);4703 IEM_MC_BEGIN(0, 0); 4704 4704 IEM_MC_LOCAL(uint32_t, fMxcsr); 4705 4705 IEM_MC_LOCAL(int32_t, i32Dst); … … 4727 4727 { 4728 4728 /* greg, [mem] */ 4729 IEM_MC_BEGIN( 3, 4,0, 0);4729 IEM_MC_BEGIN(0, 0); 4730 4730 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 4731 4731 IEM_MC_LOCAL(uint32_t, fMxcsr); … … 4768 4768 { 4769 4769 /* greg64, XMM */ 4770 IEM_MC_BEGIN( 3, 2,IEM_MC_F_64BIT, 0);4770 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 4771 4771 IEM_MC_LOCAL(uint32_t, fMxcsr); 4772 4772 IEM_MC_LOCAL(int64_t, i64Dst); … … 4794 4794 { 4795 4795 /* greg64, [mem64] */ 4796 IEM_MC_BEGIN( 3, 4,IEM_MC_F_64BIT, 0);4796 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 4797 4797 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 4798 4798 IEM_MC_LOCAL(uint32_t, fMxcsr); … … 4826 4826 { 4827 4827 /* greg32, XMM */ 4828 IEM_MC_BEGIN( 3, 2,0, 0);4828 IEM_MC_BEGIN(0, 0); 4829 4829 IEM_MC_LOCAL(uint32_t, fMxcsr); 4830 4830 IEM_MC_LOCAL(int32_t, i32Dst); … … 4852 4852 { 4853 4853 /* greg32, [mem64] */ 4854 IEM_MC_BEGIN( 3, 4,0, 0);4854 IEM_MC_BEGIN(0, 0); 4855 4855 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 4856 4856 IEM_MC_LOCAL(uint32_t, fMxcsr); … … 4897 4897 * Register, register. 4898 4898 */ 4899 IEM_MC_BEGIN( 4, 1,0, 0);4899 IEM_MC_BEGIN(0, 0); 4900 4900 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse); 4901 4901 IEM_MC_LOCAL(uint32_t, fEFlags); … … 4925 4925 * Register, memory. 4926 4926 */ 4927 IEM_MC_BEGIN( 4, 3,0, 0);4927 IEM_MC_BEGIN(0, 0); 4928 4928 IEM_MC_LOCAL(uint32_t, fEFlags); 4929 4929 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); … … 4971 4971 * Register, register. 4972 4972 */ 4973 IEM_MC_BEGIN( 4, 1,0, 0);4973 IEM_MC_BEGIN(0, 0); 4974 4974 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 4975 4975 IEM_MC_LOCAL(uint32_t, fEFlags); … … 4999 4999 * Register, memory. 5000 5000 */ 5001 IEM_MC_BEGIN( 4, 3,0, 0);5001 IEM_MC_BEGIN(0, 0); 5002 5002 IEM_MC_LOCAL(uint32_t, fEFlags); 5003 5003 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); … … 5049 5049 * Register, register. 5050 5050 */ 5051 IEM_MC_BEGIN( 4, 1,0, 0);5051 IEM_MC_BEGIN(0, 0); 5052 5052 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse); 5053 5053 IEM_MC_LOCAL(uint32_t, fEFlags); … … 5077 5077 * Register, memory. 5078 5078 */ 5079 IEM_MC_BEGIN( 4, 3,0, 0);5079 IEM_MC_BEGIN(0, 0); 5080 5080 IEM_MC_LOCAL(uint32_t, fEFlags); 5081 5081 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); … … 5123 5123 * Register, register. 5124 5124 */ 5125 IEM_MC_BEGIN( 4, 1,0, 0);5125 IEM_MC_BEGIN(0, 0); 5126 5126 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 5127 5127 IEM_MC_LOCAL(uint32_t, fEFlags); … … 5151 5151 * Register, memory. 5152 5152 */ 5153 IEM_MC_BEGIN( 4, 3,0, 0);5153 IEM_MC_BEGIN(0, 0); 5154 5154 IEM_MC_LOCAL(uint32_t, fEFlags); 5155 5155 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); … … 5295 5295 { \ 5296 5296 case IEMMODE_16BIT: \ 5297 IEM_MC_BEGIN(0, 1, 0,0); \5297 IEM_MC_BEGIN(0, 0); \ 5298 5298 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 5299 5299 IEM_MC_LOCAL(uint16_t, u16Tmp); \ … … 5307 5307 \ 5308 5308 case IEMMODE_32BIT: \ 5309 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0); \5309 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 5310 5310 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 5311 5311 IEM_MC_LOCAL(uint32_t, u32Tmp); \ … … 5321 5321 \ 5322 5322 case IEMMODE_64BIT: \ 5323 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0); \5323 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 5324 5324 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 5325 5325 IEM_MC_LOCAL(uint64_t, u64Tmp); \ … … 5340 5340 { \ 5341 5341 case IEMMODE_16BIT: \ 5342 IEM_MC_BEGIN(0, 2, 0,0); \5342 IEM_MC_BEGIN(0, 0); \ 5343 5343 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); \ 5344 5344 IEM_MC_LOCAL(uint16_t, u16Tmp); \ … … 5354 5354 \ 5355 5355 case IEMMODE_32BIT: \ 5356 IEM_MC_BEGIN( 0, 2,IEM_MC_F_MIN_386, 0); \5356 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 5357 5357 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); \ 5358 5358 IEM_MC_LOCAL(uint32_t, u32Tmp); \ … … 5370 5370 \ 5371 5371 case IEMMODE_64BIT: \ 5372 IEM_MC_BEGIN( 0, 2,IEM_MC_F_64BIT, 0); \5372 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 5373 5373 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); \ 5374 5374 IEM_MC_LOCAL(uint64_t, u64Tmp); \ … … 5576 5576 * Register, register. 5577 5577 */ 5578 IEM_MC_BEGIN( 2, 1,0, 0);5578 IEM_MC_BEGIN(0, 0); 5579 5579 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse); 5580 5580 IEM_MC_LOCAL(uint8_t, u8Dst); … … 5605 5605 * Register, register. 5606 5606 */ 5607 IEM_MC_BEGIN( 2, 1,0, 0);5607 IEM_MC_BEGIN(0, 0); 5608 5608 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 5609 5609 IEM_MC_LOCAL(uint8_t, u8Dst); … … 6323 6323 { 6324 6324 /* MMX, greg64 */ 6325 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);6325 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 6326 6326 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fMmx); 6327 6327 IEM_MC_LOCAL(uint64_t, u64Tmp); … … 6340 6340 { 6341 6341 /* MMX, [mem64] */ 6342 IEM_MC_BEGIN( 0, 2,IEM_MC_F_64BIT, 0);6342 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 6343 6343 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 6344 6344 IEM_MC_LOCAL(uint64_t, u64Tmp); … … 6375 6375 { 6376 6376 /* MMX, greg32 */ 6377 IEM_MC_BEGIN(0, 1, 0,0);6377 IEM_MC_BEGIN(0, 0); 6378 6378 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fMmx); 6379 6379 IEM_MC_LOCAL(uint32_t, u32Tmp); … … 6392 6392 { 6393 6393 /* MMX, [mem32] */ 6394 IEM_MC_BEGIN(0, 2, 0,0);6394 IEM_MC_BEGIN(0, 0); 6395 6395 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 6396 6396 IEM_MC_LOCAL(uint32_t, u32Tmp); … … 6430 6430 { 6431 6431 /* XMM, greg64 */ 6432 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);6432 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 6433 6433 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 6434 6434 IEM_MC_LOCAL(uint64_t, u64Tmp); … … 6446 6446 { 6447 6447 /* XMM, [mem64] */ 6448 IEM_MC_BEGIN( 0, 2,IEM_MC_F_64BIT, 0);6448 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 6449 6449 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 6450 6450 IEM_MC_LOCAL(uint64_t, u64Tmp); … … 6480 6480 { 6481 6481 /* XMM, greg32 */ 6482 IEM_MC_BEGIN(0, 1, 0,0);6482 IEM_MC_BEGIN(0, 0); 6483 6483 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 6484 6484 IEM_MC_LOCAL(uint32_t, u32Tmp); … … 6496 6496 { 6497 6497 /* XMM, [mem32] */ 6498 IEM_MC_BEGIN(0, 2, 0,0);6498 IEM_MC_BEGIN(0, 0); 6499 6499 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 6500 6500 IEM_MC_LOCAL(uint32_t, u32Tmp); … … 6535 6535 * Register, register. 6536 6536 */ 6537 IEM_MC_BEGIN(0, 1, 0,0);6537 IEM_MC_BEGIN(0, 0); 6538 6538 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fMmx); 6539 6539 IEM_MC_LOCAL(uint64_t, u64Tmp); … … 6554 6554 * Register, memory. 6555 6555 */ 6556 IEM_MC_BEGIN(0, 2, 0,0);6556 IEM_MC_BEGIN(0, 0); 6557 6557 IEM_MC_LOCAL(uint64_t, u64Tmp); 6558 6558 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 6591 6591 * Register, register. 6592 6592 */ 6593 IEM_MC_BEGIN(0, 0 , 0, 0);6593 IEM_MC_BEGIN(0, 0); 6594 6594 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 6595 6595 … … 6607 6607 * Register, memory. 6608 6608 */ 6609 IEM_MC_BEGIN(0, 2, 0,0);6609 IEM_MC_BEGIN(0, 0); 6610 6610 IEM_MC_LOCAL(RTUINT128U, u128Tmp); 6611 6611 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 6642 6642 * Register, register. 6643 6643 */ 6644 IEM_MC_BEGIN(0, 0 , 0, 0);6644 IEM_MC_BEGIN(0, 0); 6645 6645 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 6646 6646 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); … … 6656 6656 * Register, memory. 6657 6657 */ 6658 IEM_MC_BEGIN(0, 2, 0,0);6658 IEM_MC_BEGIN(0, 0); 6659 6659 IEM_MC_LOCAL(RTUINT128U, u128Tmp); 6660 6660 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 6683 6683 * Register, register. 6684 6684 */ 6685 IEM_MC_BEGIN( 3, 0,0, 0);6685 IEM_MC_BEGIN(0, 0); 6686 6686 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 6687 6687 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX_2_OR(fSse, fAmdMmxExts); … … 6706 6706 * Register, memory. 6707 6707 */ 6708 IEM_MC_BEGIN( 3, 2,0, 0);6708 IEM_MC_BEGIN(0, 0); 6709 6709 IEM_MC_ARG(uint64_t *, pDst, 0); 6710 6710 IEM_MC_LOCAL(uint64_t, uSrc); … … 6749 6749 * Register, register. 6750 6750 */ 6751 IEM_MC_BEGIN( 3, 0,0, 0);6751 IEM_MC_BEGIN(0, 0); 6752 6752 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 6753 6753 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); … … 6768 6768 * Register, memory. 6769 6769 */ 6770 IEM_MC_BEGIN( 3, 2,0, 0);6770 IEM_MC_BEGIN(0, 0); 6771 6771 IEM_MC_ARG(PRTUINT128U, puDst, 0); 6772 6772 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 6834 6834 * Register, immediate. 6835 6835 */ 6836 IEM_MC_BEGIN( 2, 0,0, 0);6836 IEM_MC_BEGIN(0, 0); 6837 6837 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 6838 6838 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fMmx); … … 6880 6880 * Register, immediate. 6881 6881 */ 6882 IEM_MC_BEGIN( 2, 0,0, 0);6882 IEM_MC_BEGIN(0, 0); 6883 6883 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 6884 6884 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); … … 7195 7195 { 7196 7196 IEMOP_MNEMONIC(emms, "emms"); 7197 IEM_MC_BEGIN(0, 0 , 0, 0);7197 IEM_MC_BEGIN(0, 0); 7198 7198 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 7199 7199 IEM_MC_MAYBE_RAISE_DEVICE_NOT_AVAILABLE(); … … 7226 7226 if (enmEffOpSize == IEMMODE_64BIT) 7227 7227 { 7228 IEM_MC_BEGIN( 2, 0,IEM_MC_F_64BIT, 0);7228 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 7229 7229 IEMOP_HLP_DONE_DECODING_NO_SIZE_OP_REPZ_OR_REPNZ_PREFIXES(); 7230 7230 IEM_MC_ARG(uint64_t *, pu64Dst, 0); … … 7239 7239 else 7240 7240 { 7241 IEM_MC_BEGIN( 2, 0,0, 0);7241 IEM_MC_BEGIN(0, 0); 7242 7242 IEMOP_HLP_DONE_DECODING_NO_SIZE_OP_REPZ_OR_REPNZ_PREFIXES(); 7243 7243 IEM_MC_ARG(uint64_t *, pu64Dst, 0); … … 7258 7258 if (enmEffOpSize == IEMMODE_64BIT) 7259 7259 { 7260 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0);7260 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 7261 7261 IEM_MC_ARG(RTGCPTR, GCPtrVal, 1); 7262 7262 IEM_MC_CALC_RM_EFF_ADDR(GCPtrVal, bRm, 0); … … 7271 7271 else 7272 7272 { 7273 IEM_MC_BEGIN( 3, 0,0, 0);7273 IEM_MC_BEGIN(0, 0); 7274 7274 IEM_MC_ARG(RTGCPTR, GCPtrVal, 1); 7275 7275 IEM_MC_CALC_RM_EFF_ADDR(GCPtrVal, bRm, 0); … … 7310 7310 if (enmEffOpSize == IEMMODE_64BIT) 7311 7311 { 7312 IEM_MC_BEGIN( 2, 0,IEM_MC_F_64BIT, 0);7312 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 7313 7313 IEMOP_HLP_DONE_DECODING_NO_SIZE_OP_REPZ_OR_REPNZ_PREFIXES(); 7314 7314 IEM_MC_ARG(uint64_t, u64Val, 0); … … 7321 7321 else 7322 7322 { 7323 IEM_MC_BEGIN( 2, 0,0, 0);7323 IEM_MC_BEGIN(0, 0); 7324 7324 IEMOP_HLP_DONE_DECODING_NO_SIZE_OP_REPZ_OR_REPNZ_PREFIXES(); 7325 7325 IEM_MC_ARG(uint32_t, u32Val, 0); … … 7338 7338 if (enmEffOpSize == IEMMODE_64BIT) 7339 7339 { 7340 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0);7340 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 7341 7341 IEM_MC_ARG(RTGCPTR, GCPtrVal, 1); 7342 7342 IEM_MC_CALC_RM_EFF_ADDR(GCPtrVal, bRm, 0); … … 7351 7351 else 7352 7352 { 7353 IEM_MC_BEGIN( 3, 0,0, 0);7353 IEM_MC_BEGIN(0, 0); 7354 7354 IEM_MC_ARG(RTGCPTR, GCPtrVal, 1); 7355 7355 IEM_MC_CALC_RM_EFF_ADDR(GCPtrVal, bRm, 0); … … 7445 7445 { 7446 7446 /* greg64, MMX */ 7447 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);7447 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 7448 7448 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fMmx); 7449 7449 IEM_MC_LOCAL(uint64_t, u64Tmp); … … 7462 7462 { 7463 7463 /* [mem64], MMX */ 7464 IEM_MC_BEGIN( 0, 2,IEM_MC_F_64BIT, 0);7464 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 7465 7465 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 7466 7466 IEM_MC_LOCAL(uint64_t, u64Tmp); … … 7497 7497 { 7498 7498 /* greg32, MMX */ 7499 IEM_MC_BEGIN(0, 1, 0,0);7499 IEM_MC_BEGIN(0, 0); 7500 7500 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fMmx); 7501 7501 IEM_MC_LOCAL(uint32_t, u32Tmp); … … 7514 7514 { 7515 7515 /* [mem32], MMX */ 7516 IEM_MC_BEGIN(0, 2, 0,0);7516 IEM_MC_BEGIN(0, 0); 7517 7517 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 7518 7518 IEM_MC_LOCAL(uint32_t, u32Tmp); … … 7553 7553 { 7554 7554 /* greg64, XMM */ 7555 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);7555 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 7556 7556 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 7557 7557 IEM_MC_LOCAL(uint64_t, u64Tmp); … … 7569 7569 { 7570 7570 /* [mem64], XMM */ 7571 IEM_MC_BEGIN( 0, 2,IEM_MC_F_64BIT, 0);7571 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 7572 7572 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 7573 7573 IEM_MC_LOCAL(uint64_t, u64Tmp); … … 7603 7603 { 7604 7604 /* greg32, XMM */ 7605 IEM_MC_BEGIN(0, 1, 0,0);7605 IEM_MC_BEGIN(0, 0); 7606 7606 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 7607 7607 IEM_MC_LOCAL(uint32_t, u32Tmp); … … 7619 7619 { 7620 7620 /* [mem32], XMM */ 7621 IEM_MC_BEGIN(0, 2, 0,0);7621 IEM_MC_BEGIN(0, 0); 7622 7622 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 7623 7623 IEM_MC_LOCAL(uint32_t, u32Tmp); … … 7655 7655 * XMM128, XMM64. 7656 7656 */ 7657 IEM_MC_BEGIN(0, 2, 0,0);7657 IEM_MC_BEGIN(0, 0); 7658 7658 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 7659 7659 IEM_MC_LOCAL(uint64_t, uSrc); … … 7673 7673 * XMM128, [mem64]. 7674 7674 */ 7675 IEM_MC_BEGIN(0, 2, 0,0);7675 IEM_MC_BEGIN(0, 0); 7676 7676 IEM_MC_LOCAL(uint64_t, uSrc); 7677 7677 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 7705 7705 /** @todo testcase: REX.B / REX.R and MMX register indexing. Ignored? */ 7706 7706 /** @todo testcase: REX.B / REX.R and segment register indexing. Ignored? */ 7707 IEM_MC_BEGIN(0, 1, 0,0);7707 IEM_MC_BEGIN(0, 0); 7708 7708 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fMmx); 7709 7709 IEM_MC_LOCAL(uint64_t, u64Tmp); … … 7723 7723 * [mem64], MMX. 7724 7724 */ 7725 IEM_MC_BEGIN(0, 2, 0,0);7725 IEM_MC_BEGIN(0, 0); 7726 7726 IEM_MC_LOCAL(uint64_t, u64Tmp); 7727 7727 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 7751 7751 * XMM, XMM. 7752 7752 */ 7753 IEM_MC_BEGIN(0, 0 , 0, 0);7753 IEM_MC_BEGIN(0, 0); 7754 7754 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 7755 7755 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); … … 7765 7765 * [mem128], XMM. 7766 7766 */ 7767 IEM_MC_BEGIN(0, 2, 0,0);7767 IEM_MC_BEGIN(0, 0); 7768 7768 IEM_MC_LOCAL(RTUINT128U, u128Tmp); 7769 7769 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 7792 7792 * XMM, XMM. 7793 7793 */ 7794 IEM_MC_BEGIN(0, 0 , 0, 0);7794 IEM_MC_BEGIN(0, 0); 7795 7795 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 7796 7796 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); … … 7806 7806 * [mem128], XMM. 7807 7807 */ 7808 IEM_MC_BEGIN(0, 2, 0,0);7808 IEM_MC_BEGIN(0, 0); 7809 7809 IEM_MC_LOCAL(RTUINT128U, u128Tmp); 7810 7810 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 7837 7837 if (pVCpu->iem.s.enmEffOpSize == IEMMODE_16BIT) 7838 7838 { 7839 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);7839 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 7840 7840 int16_t i16Imm; IEM_OPCODE_GET_NEXT_S16(&i16Imm); 7841 7841 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 7849 7849 else 7850 7850 { 7851 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);7851 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 7852 7852 int32_t i32Imm; IEM_OPCODE_GET_NEXT_S32(&i32Imm); 7853 7853 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 7873 7873 if (pVCpu->iem.s.enmEffOpSize == IEMMODE_16BIT) 7874 7874 { 7875 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);7875 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 7876 7876 int16_t i16Imm; IEM_OPCODE_GET_NEXT_S16(&i16Imm); 7877 7877 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 7885 7885 else 7886 7886 { 7887 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);7887 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 7888 7888 int32_t i32Imm; IEM_OPCODE_GET_NEXT_S32(&i32Imm); 7889 7889 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 7909 7909 if (pVCpu->iem.s.enmEffOpSize == IEMMODE_16BIT) 7910 7910 { 7911 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);7911 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 7912 7912 int16_t i16Imm; IEM_OPCODE_GET_NEXT_S16(&i16Imm); 7913 7913 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 7921 7921 else 7922 7922 { 7923 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);7923 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 7924 7924 int32_t i32Imm; IEM_OPCODE_GET_NEXT_S32(&i32Imm); 7925 7925 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 7945 7945 if (pVCpu->iem.s.enmEffOpSize == IEMMODE_16BIT) 7946 7946 { 7947 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);7947 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 7948 7948 int16_t i16Imm; IEM_OPCODE_GET_NEXT_S16(&i16Imm); 7949 7949 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 7957 7957 else 7958 7958 { 7959 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);7959 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 7960 7960 int32_t i32Imm; IEM_OPCODE_GET_NEXT_S32(&i32Imm); 7961 7961 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 7981 7981 if (pVCpu->iem.s.enmEffOpSize == IEMMODE_16BIT) 7982 7982 { 7983 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);7983 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 7984 7984 int16_t i16Imm; IEM_OPCODE_GET_NEXT_S16(&i16Imm); 7985 7985 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 7993 7993 else 7994 7994 { 7995 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);7995 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 7996 7996 int32_t i32Imm; IEM_OPCODE_GET_NEXT_S32(&i32Imm); 7997 7997 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8017 8017 if (pVCpu->iem.s.enmEffOpSize == IEMMODE_16BIT) 8018 8018 { 8019 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8019 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8020 8020 int16_t i16Imm; IEM_OPCODE_GET_NEXT_S16(&i16Imm); 8021 8021 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8029 8029 else 8030 8030 { 8031 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8031 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8032 8032 int32_t i32Imm; IEM_OPCODE_GET_NEXT_S32(&i32Imm); 8033 8033 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8053 8053 if (pVCpu->iem.s.enmEffOpSize == IEMMODE_16BIT) 8054 8054 { 8055 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8055 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8056 8056 int16_t i16Imm; IEM_OPCODE_GET_NEXT_S16(&i16Imm); 8057 8057 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8065 8065 else 8066 8066 { 8067 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8067 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8068 8068 int32_t i32Imm; IEM_OPCODE_GET_NEXT_S32(&i32Imm); 8069 8069 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8089 8089 if (pVCpu->iem.s.enmEffOpSize == IEMMODE_16BIT) 8090 8090 { 8091 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8091 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8092 8092 int16_t i16Imm; IEM_OPCODE_GET_NEXT_S16(&i16Imm); 8093 8093 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8101 8101 else 8102 8102 { 8103 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8103 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8104 8104 int32_t i32Imm; IEM_OPCODE_GET_NEXT_S32(&i32Imm); 8105 8105 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8125 8125 if (pVCpu->iem.s.enmEffOpSize == IEMMODE_16BIT) 8126 8126 { 8127 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8127 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8128 8128 int16_t i16Imm; IEM_OPCODE_GET_NEXT_S16(&i16Imm); 8129 8129 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8137 8137 else 8138 8138 { 8139 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8139 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8140 8140 int32_t i32Imm; IEM_OPCODE_GET_NEXT_S32(&i32Imm); 8141 8141 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8161 8161 if (pVCpu->iem.s.enmEffOpSize == IEMMODE_16BIT) 8162 8162 { 8163 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8163 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8164 8164 int16_t i16Imm; IEM_OPCODE_GET_NEXT_S16(&i16Imm); 8165 8165 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8173 8173 else 8174 8174 { 8175 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8175 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8176 8176 int32_t i32Imm; IEM_OPCODE_GET_NEXT_S32(&i32Imm); 8177 8177 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8197 8197 if (pVCpu->iem.s.enmEffOpSize == IEMMODE_16BIT) 8198 8198 { 8199 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8199 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8200 8200 int16_t i16Imm; IEM_OPCODE_GET_NEXT_S16(&i16Imm); 8201 8201 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8209 8209 else 8210 8210 { 8211 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8211 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8212 8212 int32_t i32Imm; IEM_OPCODE_GET_NEXT_S32(&i32Imm); 8213 8213 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8233 8233 if (pVCpu->iem.s.enmEffOpSize == IEMMODE_16BIT) 8234 8234 { 8235 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8235 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8236 8236 int16_t i16Imm; IEM_OPCODE_GET_NEXT_S16(&i16Imm); 8237 8237 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8245 8245 else 8246 8246 { 8247 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8247 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8248 8248 int32_t i32Imm; IEM_OPCODE_GET_NEXT_S32(&i32Imm); 8249 8249 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8269 8269 if (pVCpu->iem.s.enmEffOpSize == IEMMODE_16BIT) 8270 8270 { 8271 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8271 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8272 8272 int16_t i16Imm; IEM_OPCODE_GET_NEXT_S16(&i16Imm); 8273 8273 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8281 8281 else 8282 8282 { 8283 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8283 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8284 8284 int32_t i32Imm; IEM_OPCODE_GET_NEXT_S32(&i32Imm); 8285 8285 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8305 8305 if (pVCpu->iem.s.enmEffOpSize == IEMMODE_16BIT) 8306 8306 { 8307 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8307 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8308 8308 int16_t i16Imm; IEM_OPCODE_GET_NEXT_S16(&i16Imm); 8309 8309 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8317 8317 else 8318 8318 { 8319 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8319 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8320 8320 int32_t i32Imm; IEM_OPCODE_GET_NEXT_S32(&i32Imm); 8321 8321 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8341 8341 if (pVCpu->iem.s.enmEffOpSize == IEMMODE_16BIT) 8342 8342 { 8343 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8343 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8344 8344 int16_t i16Imm; IEM_OPCODE_GET_NEXT_S16(&i16Imm); 8345 8345 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8353 8353 else 8354 8354 { 8355 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8355 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8356 8356 int32_t i32Imm; IEM_OPCODE_GET_NEXT_S32(&i32Imm); 8357 8357 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8377 8377 if (pVCpu->iem.s.enmEffOpSize == IEMMODE_16BIT) 8378 8378 { 8379 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8379 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8380 8380 int16_t i16Imm; IEM_OPCODE_GET_NEXT_S16(&i16Imm); 8381 8381 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8389 8389 else 8390 8390 { 8391 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8391 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8392 8392 int32_t i32Imm; IEM_OPCODE_GET_NEXT_S32(&i32Imm); 8393 8393 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); … … 8418 8418 { 8419 8419 /* register target */ 8420 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8420 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8421 8421 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 8422 8422 IEM_MC_IF_EFL_BIT_SET(X86_EFL_OF) { … … 8431 8431 { 8432 8432 /* memory target */ 8433 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);8433 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8434 8434 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 8435 8435 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 8462 8462 { 8463 8463 /* register target */ 8464 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8464 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8465 8465 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 8466 8466 IEM_MC_IF_EFL_BIT_SET(X86_EFL_OF) { … … 8475 8475 { 8476 8476 /* memory target */ 8477 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);8477 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8478 8478 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 8479 8479 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 8506 8506 { 8507 8507 /* register target */ 8508 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8508 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8509 8509 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 8510 8510 IEM_MC_IF_EFL_BIT_SET(X86_EFL_CF) { … … 8519 8519 { 8520 8520 /* memory target */ 8521 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);8521 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8522 8522 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 8523 8523 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 8550 8550 { 8551 8551 /* register target */ 8552 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8552 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8553 8553 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 8554 8554 IEM_MC_IF_EFL_BIT_SET(X86_EFL_CF) { … … 8563 8563 { 8564 8564 /* memory target */ 8565 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);8565 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8566 8566 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 8567 8567 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 8594 8594 { 8595 8595 /* register target */ 8596 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8596 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8597 8597 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 8598 8598 IEM_MC_IF_EFL_BIT_SET(X86_EFL_ZF) { … … 8607 8607 { 8608 8608 /* memory target */ 8609 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);8609 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8610 8610 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 8611 8611 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 8638 8638 { 8639 8639 /* register target */ 8640 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8640 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8641 8641 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 8642 8642 IEM_MC_IF_EFL_BIT_SET(X86_EFL_ZF) { … … 8651 8651 { 8652 8652 /* memory target */ 8653 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);8653 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8654 8654 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 8655 8655 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 8682 8682 { 8683 8683 /* register target */ 8684 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8684 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8685 8685 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 8686 8686 IEM_MC_IF_EFL_ANY_BITS_SET(X86_EFL_CF | X86_EFL_ZF) { … … 8695 8695 { 8696 8696 /* memory target */ 8697 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);8697 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8698 8698 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 8699 8699 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 8726 8726 { 8727 8727 /* register target */ 8728 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8728 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8729 8729 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 8730 8730 IEM_MC_IF_EFL_ANY_BITS_SET(X86_EFL_CF | X86_EFL_ZF) { … … 8739 8739 { 8740 8740 /* memory target */ 8741 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);8741 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8742 8742 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 8743 8743 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 8770 8770 { 8771 8771 /* register target */ 8772 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8772 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8773 8773 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 8774 8774 IEM_MC_IF_EFL_BIT_SET(X86_EFL_SF) { … … 8783 8783 { 8784 8784 /* memory target */ 8785 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);8785 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8786 8786 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 8787 8787 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 8814 8814 { 8815 8815 /* register target */ 8816 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8816 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8817 8817 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 8818 8818 IEM_MC_IF_EFL_BIT_SET(X86_EFL_SF) { … … 8827 8827 { 8828 8828 /* memory target */ 8829 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);8829 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8830 8830 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 8831 8831 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 8858 8858 { 8859 8859 /* register target */ 8860 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8860 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8861 8861 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 8862 8862 IEM_MC_IF_EFL_BIT_SET(X86_EFL_PF) { … … 8871 8871 { 8872 8872 /* memory target */ 8873 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);8873 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8874 8874 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 8875 8875 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 8902 8902 { 8903 8903 /* register target */ 8904 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8904 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8905 8905 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 8906 8906 IEM_MC_IF_EFL_BIT_SET(X86_EFL_PF) { … … 8915 8915 { 8916 8916 /* memory target */ 8917 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);8917 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8918 8918 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 8919 8919 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 8946 8946 { 8947 8947 /* register target */ 8948 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8948 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8949 8949 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 8950 8950 IEM_MC_IF_EFL_BITS_NE(X86_EFL_SF, X86_EFL_OF) { … … 8959 8959 { 8960 8960 /* memory target */ 8961 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);8961 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8962 8962 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 8963 8963 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 8990 8990 { 8991 8991 /* register target */ 8992 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);8992 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 8993 8993 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 8994 8994 IEM_MC_IF_EFL_BITS_NE(X86_EFL_SF, X86_EFL_OF) { … … 9003 9003 { 9004 9004 /* memory target */ 9005 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);9005 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 9006 9006 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 9007 9007 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 9034 9034 { 9035 9035 /* register target */ 9036 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);9036 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 9037 9037 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 9038 9038 IEM_MC_IF_EFL_BIT_SET_OR_BITS_NE(X86_EFL_ZF, X86_EFL_SF, X86_EFL_OF) { … … 9047 9047 { 9048 9048 /* memory target */ 9049 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);9049 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 9050 9050 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 9051 9051 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 9078 9078 { 9079 9079 /* register target */ 9080 IEM_MC_BEGIN( 0, 0,IEM_MC_F_MIN_386, 0);9080 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 9081 9081 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 9082 9082 IEM_MC_IF_EFL_BIT_SET_OR_BITS_NE(X86_EFL_ZF, X86_EFL_SF, X86_EFL_OF) { … … 9091 9091 { 9092 9092 /* memory target */ 9093 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);9093 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 9094 9094 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); 9095 9095 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 9163 9163 { \ 9164 9164 case IEMMODE_16BIT: \ 9165 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_386, 0); \9165 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 9166 9166 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 9167 9167 IEM_MC_ARG(uint16_t *, pu16Dst, 0); \ … … 9180 9180 \ 9181 9181 case IEMMODE_32BIT: \ 9182 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_386, 0); \9182 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 9183 9183 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 9184 9184 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ … … 9198 9198 \ 9199 9199 case IEMMODE_64BIT: \ 9200 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0); \9200 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 9201 9201 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 9202 9202 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ … … 9226 9226 { \ 9227 9227 case IEMMODE_16BIT: \ 9228 IEM_MC_BEGIN( 3, 4,IEM_MC_F_MIN_386, 0); \9228 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 9229 9229 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 9230 9230 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ … … 9253 9253 \ 9254 9254 case IEMMODE_32BIT: \ 9255 IEM_MC_BEGIN( 3, 4,IEM_MC_F_MIN_386, 0); \9255 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 9256 9256 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 9257 9257 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ … … 9280 9280 \ 9281 9281 case IEMMODE_64BIT: \ 9282 IEM_MC_BEGIN( 3, 5,IEM_MC_F_64BIT, 0); \9282 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 9283 9283 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 9284 9284 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ … … 9317 9317 { \ 9318 9318 case IEMMODE_16BIT: \ 9319 IEM_MC_BEGIN( 3, 4,IEM_MC_F_MIN_386, 0); \9319 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 9320 9320 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 9321 9321 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ … … 9344 9344 \ 9345 9345 case IEMMODE_32BIT: \ 9346 IEM_MC_BEGIN( 3, 4,IEM_MC_F_MIN_386, 0); \9346 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 9347 9347 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 9348 9348 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ … … 9371 9371 \ 9372 9372 case IEMMODE_64BIT: \ 9373 IEM_MC_BEGIN( 3, 4,IEM_MC_F_64BIT, 0); \9373 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 9374 9374 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 9375 9375 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ … … 9414 9414 { \ 9415 9415 case IEMMODE_16BIT: \ 9416 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_386, 0); \9416 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 9417 9417 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 9418 9418 IEM_MC_ARG(uint16_t const *, pu16Dst, 0); \ … … 9431 9431 \ 9432 9432 case IEMMODE_32BIT: \ 9433 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_386, 0); \9433 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 9434 9434 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 9435 9435 IEM_MC_ARG(uint32_t const *, pu32Dst, 0); \ … … 9448 9448 \ 9449 9449 case IEMMODE_64BIT: \ 9450 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0); \9450 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 9451 9451 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 9452 9452 IEM_MC_ARG(uint64_t const *, pu64Dst, 0); \ … … 9476 9476 { \ 9477 9477 case IEMMODE_16BIT: \ 9478 IEM_MC_BEGIN( 3, 4,IEM_MC_F_MIN_386, 0); \9478 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 9479 9479 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 9480 9480 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ … … 9503 9503 \ 9504 9504 case IEMMODE_32BIT: \ 9505 IEM_MC_BEGIN( 3, 4,IEM_MC_F_MIN_386, 0); \9505 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 9506 9506 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 9507 9507 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ … … 9530 9530 \ 9531 9531 case IEMMODE_64BIT: \ 9532 IEM_MC_BEGIN( 3, 4,IEM_MC_F_64BIT, 0); \9532 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 9533 9533 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 9534 9534 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ … … 9597 9597 { \ 9598 9598 case IEMMODE_16BIT: \ 9599 IEM_MC_BEGIN( 4, 0,IEM_MC_F_MIN_386, 0); \9599 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 9600 9600 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 9601 9601 IEM_MC_ARG(uint16_t *, pu16Dst, 0); \ … … 9614 9614 \ 9615 9615 case IEMMODE_32BIT: \ 9616 IEM_MC_BEGIN( 4, 0,IEM_MC_F_MIN_386, 0); \9616 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 9617 9617 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 9618 9618 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ … … 9632 9632 \ 9633 9633 case IEMMODE_64BIT: \ 9634 IEM_MC_BEGIN( 4, 0,IEM_MC_F_64BIT, 0); \9634 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 9635 9635 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 9636 9636 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ … … 9656 9656 { \ 9657 9657 case IEMMODE_16BIT: \ 9658 IEM_MC_BEGIN( 4, 3,IEM_MC_F_MIN_386, 0); \9658 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 9659 9659 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 9660 9660 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 9680 9680 \ 9681 9681 case IEMMODE_32BIT: \ 9682 IEM_MC_BEGIN( 4, 3,IEM_MC_F_MIN_386, 0); \9682 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 9683 9683 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 9684 9684 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 9704 9704 \ 9705 9705 case IEMMODE_64BIT: \ 9706 IEM_MC_BEGIN( 4, 3,IEM_MC_F_64BIT, 0); \9706 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 9707 9707 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 9708 9708 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 9747 9747 { \ 9748 9748 case IEMMODE_16BIT: \ 9749 IEM_MC_BEGIN( 4, 0,IEM_MC_F_MIN_386, 0); \9749 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 9750 9750 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 9751 9751 IEM_MC_ARG(uint16_t *, pu16Dst, 0); \ … … 9765 9765 \ 9766 9766 case IEMMODE_32BIT: \ 9767 IEM_MC_BEGIN( 4, 0,IEM_MC_F_MIN_386, 0); \9767 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 9768 9768 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 9769 9769 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ … … 9784 9784 \ 9785 9785 case IEMMODE_64BIT: \ 9786 IEM_MC_BEGIN( 4, 0,IEM_MC_F_64BIT, 0); \9786 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 9787 9787 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 9788 9788 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ … … 9809 9809 { \ 9810 9810 case IEMMODE_16BIT: \ 9811 IEM_MC_BEGIN( 4, 3,IEM_MC_F_MIN_386, 0); \9811 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 9812 9812 IEM_MC_ARG(uint16_t *, pu16Dst, 0); \ 9813 9813 IEM_MC_ARG(uint16_t, u16Src, 1); \ … … 9831 9831 \ 9832 9832 case IEMMODE_32BIT: \ 9833 IEM_MC_BEGIN( 4, 3,IEM_MC_F_MIN_386, 0); \9833 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 9834 9834 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ 9835 9835 IEM_MC_ARG(uint32_t, u32Src, 1); \ … … 9853 9853 \ 9854 9854 case IEMMODE_64BIT: \ 9855 IEM_MC_BEGIN( 4, 3,IEM_MC_F_64BIT, 0); \9855 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 9856 9856 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ 9857 9857 IEM_MC_ARG(uint64_t, u64Src, 1); \ … … 9988 9988 IEMOP_RAISE_INVALID_OPCODE_RET(); 9989 9989 9990 IEM_MC_BEGIN( 3, 1,IEM_MC_F_MIN_PENTIUM_II, 0);9990 IEM_MC_BEGIN(IEM_MC_F_MIN_PENTIUM_II, 0); 9991 9991 IEM_MC_ARG(RTGCPTR, GCPtrEff, 1); 9992 9992 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEff, bRm, 0); … … 10007 10007 IEMOP_RAISE_INVALID_OPCODE_RET(); 10008 10008 10009 IEM_MC_BEGIN( 3, 1,IEM_MC_F_MIN_PENTIUM_II, 0);10009 IEM_MC_BEGIN(IEM_MC_F_MIN_PENTIUM_II, 0); 10010 10010 IEM_MC_ARG(RTGCPTR, GCPtrEff, 1); 10011 10011 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEff, bRm, 0); … … 10045 10045 IEMOP_RAISE_INVALID_OPCODE_RET(); 10046 10046 10047 IEM_MC_BEGIN( 2, 0,IEM_MC_F_MIN_PENTIUM_II, 0);10047 IEM_MC_BEGIN(IEM_MC_F_MIN_PENTIUM_II, 0); 10048 10048 IEM_MC_ARG(RTGCPTR, GCPtrEff, 1); 10049 10049 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEff, bRm, 0); … … 10080 10080 IEMOP_RAISE_INVALID_OPCODE_RET(); 10081 10081 10082 IEM_MC_BEGIN( 2, 0,IEM_MC_F_MIN_PENTIUM_II, 0);10082 IEM_MC_BEGIN(IEM_MC_F_MIN_PENTIUM_II, 0); 10083 10083 IEM_MC_ARG(RTGCPTR, GCPtrEff, 1); 10084 10084 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEff, bRm, 0); … … 10105 10105 IEMOP_RAISE_INVALID_OPCODE_RET(); 10106 10106 10107 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_CORE, 0);10107 IEM_MC_BEGIN(IEM_MC_F_MIN_CORE, 0); 10108 10108 IEM_MC_ARG(RTGCPTR, GCPtrEff, 1); 10109 10109 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEff, bRm, 0); … … 10131 10131 IEMOP_RAISE_INVALID_OPCODE_RET(); 10132 10132 10133 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_CORE, 0);10133 IEM_MC_BEGIN(IEM_MC_F_MIN_CORE, 0); 10134 10134 IEM_MC_ARG(RTGCPTR, GCPtrEff, 1); 10135 10135 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEff, bRm, 0); … … 10160 10160 return FNIEMOP_CALL_1(iemOp_InvalidWithRMAllNeeded, bRm); 10161 10161 10162 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);10162 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 10163 10163 IEM_MC_ARG(RTGCPTR, GCPtrEff, 1); 10164 10164 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEff, bRm, 0); … … 10183 10183 return FNIEMOP_CALL_1(iemOp_InvalidWithRMAllNeeded, bRm); 10184 10184 10185 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);10185 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 10186 10186 IEM_MC_ARG(RTGCPTR, GCPtrEff, 1); 10187 10187 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEff, bRm, 0); … … 10198 10198 RT_NOREF_PV(bRm); 10199 10199 IEMOP_MNEMONIC(lfence, "lfence"); 10200 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);10200 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 10201 10201 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 10202 10202 #ifdef RT_ARCH_ARM64 … … 10218 10218 RT_NOREF_PV(bRm); 10219 10219 IEMOP_MNEMONIC(mfence, "mfence"); 10220 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);10220 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 10221 10221 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 10222 10222 #ifdef RT_ARCH_ARM64 … … 10238 10238 RT_NOREF_PV(bRm); 10239 10239 IEMOP_MNEMONIC(sfence, "sfence"); 10240 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);10240 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 10241 10241 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 10242 10242 #ifdef RT_ARCH_ARM64 … … 10259 10259 if (pVCpu->iem.s.enmEffOpSize == IEMMODE_64BIT) 10260 10260 { 10261 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);10261 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 10262 10262 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fFsGsBase); 10263 10263 IEM_MC_MAYBE_RAISE_FSGSBASE_XCPT(); … … 10270 10270 else 10271 10271 { 10272 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);10272 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 10273 10273 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fFsGsBase); 10274 10274 IEM_MC_MAYBE_RAISE_FSGSBASE_XCPT(); … … 10288 10288 if (pVCpu->iem.s.enmEffOpSize == IEMMODE_64BIT) 10289 10289 { 10290 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);10290 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 10291 10291 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fFsGsBase); 10292 10292 IEM_MC_MAYBE_RAISE_FSGSBASE_XCPT(); … … 10299 10299 else 10300 10300 { 10301 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);10301 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 10302 10302 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fFsGsBase); 10303 10303 IEM_MC_MAYBE_RAISE_FSGSBASE_XCPT(); … … 10317 10317 if (pVCpu->iem.s.enmEffOpSize == IEMMODE_64BIT) 10318 10318 { 10319 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);10319 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 10320 10320 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fFsGsBase); 10321 10321 IEM_MC_MAYBE_RAISE_FSGSBASE_XCPT(); … … 10329 10329 else 10330 10330 { 10331 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);10331 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 10332 10332 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fFsGsBase); 10333 10333 IEM_MC_MAYBE_RAISE_FSGSBASE_XCPT(); … … 10347 10347 if (pVCpu->iem.s.enmEffOpSize == IEMMODE_64BIT) 10348 10348 { 10349 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);10349 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 10350 10350 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fFsGsBase); 10351 10351 IEM_MC_MAYBE_RAISE_FSGSBASE_XCPT(); … … 10359 10359 else 10360 10360 { 10361 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);10361 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 10362 10362 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fFsGsBase); 10363 10363 IEM_MC_MAYBE_RAISE_FSGSBASE_XCPT(); … … 10447 10447 if (IEM_IS_MODRM_REG_MODE(bRm)) 10448 10448 { 10449 IEM_MC_BEGIN( 4, 0,IEM_MC_F_MIN_486, 0);10449 IEM_MC_BEGIN(IEM_MC_F_MIN_486, 0); 10450 10450 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 10451 10451 IEM_MC_ARG(uint8_t *, pu8Dst, 0); … … 10466 10466 { 10467 10467 #define IEMOP_BODY_CMPXCHG_BYTE(a_fnWorker, a_Type) \ 10468 IEM_MC_BEGIN( 4, 4,IEM_MC_F_MIN_486, 0); \10468 IEM_MC_BEGIN(IEM_MC_F_MIN_486, 0); \ 10469 10469 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 10470 10470 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ … … 10517 10517 { 10518 10518 case IEMMODE_16BIT: 10519 IEM_MC_BEGIN( 4, 0,IEM_MC_F_MIN_486, 0);10519 IEM_MC_BEGIN(IEM_MC_F_MIN_486, 0); 10520 10520 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 10521 10521 IEM_MC_ARG(uint16_t *, pu16Dst, 0); … … 10535 10535 10536 10536 case IEMMODE_32BIT: 10537 IEM_MC_BEGIN( 4, 0,IEM_MC_F_MIN_486, 0);10537 IEM_MC_BEGIN(IEM_MC_F_MIN_486, 0); 10538 10538 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 10539 10539 IEM_MC_ARG(uint32_t *, pu32Dst, 0); … … 10559 10559 10560 10560 case IEMMODE_64BIT: 10561 IEM_MC_BEGIN( 4, 0,IEM_MC_F_64BIT, 0);10561 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 10562 10562 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 10563 10563 IEM_MC_ARG(uint64_t *, pu64Dst, 0); … … 10586 10586 { \ 10587 10587 case IEMMODE_16BIT: \ 10588 IEM_MC_BEGIN( 4, 4,IEM_MC_F_MIN_486, 0); \10588 IEM_MC_BEGIN(IEM_MC_F_MIN_486, 0); \ 10589 10589 \ 10590 10590 IEM_MC_LOCAL(uint8_t, bUnmapInfo); \ … … 10614 10614 \ 10615 10615 case IEMMODE_32BIT: \ 10616 IEM_MC_BEGIN( 4, 4,IEM_MC_F_MIN_486, 0); \10616 IEM_MC_BEGIN(IEM_MC_F_MIN_486, 0); \ 10617 10617 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 10618 10618 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ … … 10645 10645 \ 10646 10646 case IEMMODE_64BIT: \ 10647 IEM_MC_BEGIN( 4, 4,IEM_MC_F_64BIT, 0); \10647 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 10648 10648 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 10649 10649 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ … … 10754 10754 { 10755 10755 case IEMMODE_16BIT: 10756 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);10756 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 10757 10757 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 10758 10758 IEM_MC_LOCAL(uint16_t, u16Value); … … 10764 10764 10765 10765 case IEMMODE_32BIT: 10766 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);10766 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 10767 10767 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 10768 10768 IEM_MC_LOCAL(uint32_t, u32Value); … … 10774 10774 10775 10775 case IEMMODE_64BIT: 10776 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);10776 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 10777 10777 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 10778 10778 IEM_MC_LOCAL(uint64_t, u64Value); … … 10794 10794 { 10795 10795 case IEMMODE_16BIT: 10796 IEM_MC_BEGIN( 0, 2,IEM_MC_F_MIN_386, 0);10796 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 10797 10797 IEM_MC_LOCAL(uint16_t, u16Value); 10798 10798 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 10806 10806 10807 10807 case IEMMODE_32BIT: 10808 IEM_MC_BEGIN( 0, 2,IEM_MC_F_MIN_386, 0);10808 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 10809 10809 IEM_MC_LOCAL(uint32_t, u32Value); 10810 10810 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 10818 10818 10819 10819 case IEMMODE_64BIT: 10820 IEM_MC_BEGIN( 0, 2,IEM_MC_F_64BIT, 0);10820 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 10821 10821 IEM_MC_LOCAL(uint64_t, u64Value); 10822 10822 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 10857 10857 if (pVCpu->iem.s.enmEffOpSize != IEMMODE_64BIT) 10858 10858 { 10859 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);10859 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 10860 10860 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 10861 10861 IEM_MC_LOCAL(uint32_t, u32Value); … … 10867 10867 else 10868 10868 { 10869 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);10869 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 10870 10870 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 10871 10871 IEM_MC_LOCAL(uint64_t, u64Value); … … 10883 10883 if (pVCpu->iem.s.enmEffOpSize != IEMMODE_64BIT) 10884 10884 { 10885 IEM_MC_BEGIN( 0, 2,IEM_MC_F_MIN_386, 0);10885 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 10886 10886 IEM_MC_LOCAL(uint32_t, u32Value); 10887 10887 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 10895 10895 else 10896 10896 { 10897 IEM_MC_BEGIN( 0, 2,IEM_MC_F_64BIT, 0);10897 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 10898 10898 IEM_MC_LOCAL(uint64_t, u64Value); 10899 10899 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 10969 10969 { \ 10970 10970 case IEMMODE_16BIT: \ 10971 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_386, 0); \10971 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 10972 10972 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 10973 10973 IEM_MC_ARG(uint16_t *, pu16Dst, 0); \ … … 10984 10984 \ 10985 10985 case IEMMODE_32BIT: \ 10986 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_386, 0); \10986 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 10987 10987 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 10988 10988 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ … … 11000 11000 \ 11001 11001 case IEMMODE_64BIT: \ 11002 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0); \11002 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 11003 11003 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 11004 11004 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ … … 11026 11026 { \ 11027 11027 case IEMMODE_16BIT: \ 11028 IEM_MC_BEGIN( 3, 3,IEM_MC_F_MIN_386, 0); \11028 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 11029 11029 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 11030 11030 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 11048 11048 \ 11049 11049 case IEMMODE_32BIT: \ 11050 IEM_MC_BEGIN( 3, 3,IEM_MC_F_MIN_386, 0); \11050 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 11051 11051 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 11052 11052 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 11070 11070 \ 11071 11071 case IEMMODE_64BIT: \ 11072 IEM_MC_BEGIN( 3, 3,IEM_MC_F_64BIT, 0); \11072 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 11073 11073 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 11074 11074 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 11102 11102 { \ 11103 11103 case IEMMODE_16BIT: \ 11104 IEM_MC_BEGIN( 3, 3,IEM_MC_F_MIN_386, 0); \11104 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 11105 11105 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 11106 11106 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 11124 11124 \ 11125 11125 case IEMMODE_32BIT: \ 11126 IEM_MC_BEGIN( 3, 3,IEM_MC_F_MIN_386, 0); \11126 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 11127 11127 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 11128 11128 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 11146 11146 \ 11147 11147 case IEMMODE_64BIT: \ 11148 IEM_MC_BEGIN( 3, 3,IEM_MC_F_64BIT, 0); \11148 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 11149 11149 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 11150 11150 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 11185 11185 { \ 11186 11186 case IEMMODE_16BIT: \ 11187 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_386, 0); \11187 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 11188 11188 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 11189 11189 IEM_MC_ARG(uint16_t const *, pu16Dst, 0); \ … … 11200 11200 \ 11201 11201 case IEMMODE_32BIT: \ 11202 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_386, 0); \11202 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 11203 11203 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 11204 11204 IEM_MC_ARG(uint32_t const *, pu32Dst, 0); \ … … 11215 11215 \ 11216 11216 case IEMMODE_64BIT: \ 11217 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0); \11217 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 11218 11218 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 11219 11219 IEM_MC_ARG(uint64_t const *, pu64Dst, 0); \ … … 11241 11241 { \ 11242 11242 case IEMMODE_16BIT: \ 11243 IEM_MC_BEGIN( 3, 3,IEM_MC_F_MIN_386, 0); \11243 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 11244 11244 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 11245 11245 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 11263 11263 \ 11264 11264 case IEMMODE_32BIT: \ 11265 IEM_MC_BEGIN( 3, 3,IEM_MC_F_MIN_386, 0); \11265 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 11266 11266 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 11267 11267 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 11285 11285 \ 11286 11286 case IEMMODE_64BIT: \ 11287 IEM_MC_BEGIN( 3, 3,IEM_MC_F_64BIT, 0); \11287 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 11288 11288 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 11289 11289 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \ … … 11428 11428 { \ 11429 11429 case IEMMODE_16BIT: \ 11430 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_386, 0); \11430 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 11431 11431 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 11432 11432 IEM_MC_ARG(uint16_t *, pu16Dst, 0); \ … … 11444 11444 \ 11445 11445 case IEMMODE_32BIT: \ 11446 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_386, 0); \11446 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 11447 11447 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 11448 11448 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ … … 11462 11462 \ 11463 11463 case IEMMODE_64BIT: \ 11464 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0); \11464 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 11465 11465 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \ 11466 11466 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ … … 11488 11488 { \ 11489 11489 case IEMMODE_16BIT: \ 11490 IEM_MC_BEGIN( 3, 1,IEM_MC_F_MIN_386, 0); \11490 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 11491 11491 IEM_MC_ARG(uint16_t *, pu16Dst, 0); \ 11492 11492 IEM_MC_ARG(uint16_t, u16Src, 1); \ … … 11506 11506 \ 11507 11507 case IEMMODE_32BIT: \ 11508 IEM_MC_BEGIN( 3, 1,IEM_MC_F_MIN_386, 0); \11508 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); \ 11509 11509 IEM_MC_ARG(uint32_t *, pu32Dst, 0); \ 11510 11510 IEM_MC_ARG(uint32_t, u32Src, 1); \ … … 11527 11527 \ 11528 11528 case IEMMODE_64BIT: \ 11529 IEM_MC_BEGIN( 3, 1,IEM_MC_F_64BIT, 0); \11529 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 11530 11530 IEM_MC_ARG(uint64_t *, pu64Dst, 0); \ 11531 11531 IEM_MC_ARG(uint64_t, u64Src, 1); \ … … 11676 11676 { 11677 11677 case IEMMODE_16BIT: 11678 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);11678 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 11679 11679 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11680 11680 IEM_MC_LOCAL(uint16_t, u16Value); … … 11686 11686 11687 11687 case IEMMODE_32BIT: 11688 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);11688 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 11689 11689 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11690 11690 IEM_MC_LOCAL(uint32_t, u32Value); … … 11696 11696 11697 11697 case IEMMODE_64BIT: 11698 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);11698 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 11699 11699 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11700 11700 IEM_MC_LOCAL(uint64_t, u64Value); … … 11716 11716 { 11717 11717 case IEMMODE_16BIT: 11718 IEM_MC_BEGIN( 0, 2,IEM_MC_F_MIN_386, 0);11718 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 11719 11719 IEM_MC_LOCAL(uint16_t, u16Value); 11720 11720 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 11728 11728 11729 11729 case IEMMODE_32BIT: 11730 IEM_MC_BEGIN( 0, 2,IEM_MC_F_MIN_386, 0);11730 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 11731 11731 IEM_MC_LOCAL(uint32_t, u32Value); 11732 11732 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 11740 11740 11741 11741 case IEMMODE_64BIT: 11742 IEM_MC_BEGIN( 0, 2,IEM_MC_F_64BIT, 0);11742 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 11743 11743 IEM_MC_LOCAL(uint64_t, u64Value); 11744 11744 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 11775 11775 if (pVCpu->iem.s.enmEffOpSize != IEMMODE_64BIT) 11776 11776 { 11777 IEM_MC_BEGIN( 0, 1,IEM_MC_F_MIN_386, 0);11777 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 11778 11778 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11779 11779 IEM_MC_LOCAL(uint32_t, u32Value); … … 11785 11785 else 11786 11786 { 11787 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);11787 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 11788 11788 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11789 11789 IEM_MC_LOCAL(uint64_t, u64Value); … … 11801 11801 if (pVCpu->iem.s.enmEffOpSize != IEMMODE_64BIT) 11802 11802 { 11803 IEM_MC_BEGIN( 0, 2,IEM_MC_F_MIN_386, 0);11803 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 11804 11804 IEM_MC_LOCAL(uint32_t, u32Value); 11805 11805 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 11813 11813 else 11814 11814 { 11815 IEM_MC_BEGIN( 0, 2,IEM_MC_F_64BIT, 0);11815 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 11816 11816 IEM_MC_LOCAL(uint64_t, u64Value); 11817 11817 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 11842 11842 if (IEM_IS_MODRM_REG_MODE(bRm)) 11843 11843 { 11844 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_486, 0);11844 IEM_MC_BEGIN(IEM_MC_F_MIN_486, 0); 11845 11845 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11846 11846 IEM_MC_ARG(uint8_t *, pu8Dst, 0); … … 11862 11862 */ 11863 11863 #define IEMOP_BODY_XADD_BYTE(a_fnWorker, a_Type) \ 11864 IEM_MC_BEGIN( 3, 4,IEM_MC_F_MIN_486, 0); \11864 IEM_MC_BEGIN(IEM_MC_F_MIN_486, 0); \ 11865 11865 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 11866 11866 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ … … 11913 11913 { 11914 11914 case IEMMODE_16BIT: 11915 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_486, 0);11915 IEM_MC_BEGIN(IEM_MC_F_MIN_486, 0); 11916 11916 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11917 11917 IEM_MC_ARG(uint16_t *, pu16Dst, 0); … … 11929 11929 11930 11930 case IEMMODE_32BIT: 11931 IEM_MC_BEGIN( 3, 0,IEM_MC_F_MIN_486, 0);11931 IEM_MC_BEGIN(IEM_MC_F_MIN_486, 0); 11932 11932 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11933 11933 IEM_MC_ARG(uint32_t *, pu32Dst, 0); … … 11947 11947 11948 11948 case IEMMODE_64BIT: 11949 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0);11949 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 11950 11950 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 11951 11951 IEM_MC_ARG(uint64_t *, pu64Dst, 0); … … 11975 11975 { \ 11976 11976 case IEMMODE_16BIT: \ 11977 IEM_MC_BEGIN( 3, 4,IEM_MC_F_MIN_486, 0); \11977 IEM_MC_BEGIN(IEM_MC_F_MIN_486, 0); \ 11978 11978 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 11979 11979 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ … … 11999 11999 \ 12000 12000 case IEMMODE_32BIT: \ 12001 IEM_MC_BEGIN( 3, 4,IEM_MC_F_MIN_486, 0); \12001 IEM_MC_BEGIN(IEM_MC_F_MIN_486, 0); \ 12002 12002 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 12003 12003 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ … … 12023 12023 \ 12024 12024 case IEMMODE_64BIT: \ 12025 IEM_MC_BEGIN( 3, 4,IEM_MC_F_64BIT, 0); \12025 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 12026 12026 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 12027 12027 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ … … 12073 12073 * XMM, XMM. 12074 12074 */ 12075 IEM_MC_BEGIN( 4, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);12075 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 12076 12076 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 12077 12077 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse); … … 12101 12101 * XMM, [mem128]. 12102 12102 */ 12103 IEM_MC_BEGIN( 4, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);12103 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 12104 12104 IEM_MC_LOCAL(IEMMEDIAF2XMMSRC, Src); 12105 12105 IEM_MC_LOCAL(X86XMMREG, Dst); … … 12142 12142 * XMM, XMM. 12143 12143 */ 12144 IEM_MC_BEGIN( 4, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);12144 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 12145 12145 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 12146 12146 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); … … 12170 12170 * XMM, [mem128]. 12171 12171 */ 12172 IEM_MC_BEGIN( 4, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);12172 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 12173 12173 IEM_MC_LOCAL(IEMMEDIAF2XMMSRC, Src); 12174 12174 IEM_MC_LOCAL(X86XMMREG, Dst); … … 12211 12211 * XMM32, XMM32. 12212 12212 */ 12213 IEM_MC_BEGIN( 4, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);12213 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 12214 12214 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 12215 12215 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); … … 12239 12239 * XMM32, [mem32]. 12240 12240 */ 12241 IEM_MC_BEGIN( 4, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);12241 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 12242 12242 IEM_MC_LOCAL(IEMMEDIAF2XMMSRC, Src); 12243 12243 IEM_MC_LOCAL(X86XMMREG, Dst); … … 12281 12281 * XMM64, XMM64. 12282 12282 */ 12283 IEM_MC_BEGIN( 4, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);12283 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 12284 12284 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 12285 12285 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); … … 12309 12309 * XMM64, [mem64]. 12310 12310 */ 12311 IEM_MC_BEGIN( 4, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);12311 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 12312 12312 IEM_MC_LOCAL(IEMMEDIAF2XMMSRC, Src); 12313 12313 IEM_MC_LOCAL(X86XMMREG, Dst); … … 12353 12353 { 12354 12354 case IEMMODE_32BIT: 12355 IEM_MC_BEGIN( 0, 2,IEM_MC_F_MIN_386, 0);12355 IEM_MC_BEGIN(IEM_MC_F_MIN_386, 0); 12356 12356 IEM_MC_LOCAL(uint32_t, u32Value); 12357 12357 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 12367 12367 12368 12368 case IEMMODE_64BIT: 12369 IEM_MC_BEGIN( 0, 2,IEM_MC_F_64BIT, 0);12369 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 12370 12370 IEM_MC_LOCAL(uint64_t, u64Value); 12371 12371 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); … … 12407 12407 * Register, register. 12408 12408 */ 12409 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);12409 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 12410 12410 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 12411 12411 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX_2_OR(fSse, fAmdMmxExts); … … 12428 12428 * Register, memory. 12429 12429 */ 12430 IEM_MC_BEGIN( 3, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);12430 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 12431 12431 IEM_MC_ARG(uint64_t *, pu64Dst, 0); 12432 12432 IEM_MC_ARG(uint16_t, u16Src, 1); … … 12462 12462 * Register, register. 12463 12463 */ 12464 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);12464 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 12465 12465 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 12466 12466 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); … … 12481 12481 * Register, memory. 12482 12482 */ 12483 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);12483 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 12484 12484 IEM_MC_ARG(PRTUINT128U, puDst, 0); 12485 12485 IEM_MC_ARG(uint16_t, u16Src, 1); … … 12516 12516 * Greg32, MMX, imm8. 12517 12517 */ 12518 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);12518 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 12519 12519 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 12520 12520 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX_2_OR(fSse, fAmdMmxExts); … … 12544 12544 * Greg32, XMM, imm8. 12545 12545 */ 12546 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);12546 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 12547 12547 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 12548 12548 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); … … 12575 12575 * XMM, XMM, imm8. 12576 12576 */ 12577 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);12577 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 12578 12578 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 12579 12579 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse); … … 12594 12594 * XMM, [mem128], imm8. 12595 12595 */ 12596 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);12596 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 12597 12597 IEM_MC_ARG(PRTUINT128U, pDst, 0); 12598 12598 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 12627 12627 * XMM, XMM, imm8. 12628 12628 */ 12629 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);12629 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 12630 12630 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 12631 12631 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); … … 12646 12646 * XMM, [mem128], imm8. 12647 12647 */ 12648 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);12648 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 12649 12649 IEM_MC_ARG(PRTUINT128U, pDst, 0); 12650 12650 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 12684 12684 IEMOP_MNEMONIC(cmpxchg8b, "cmpxchg8b Mq"); 12685 12685 #define IEMOP_BODY_CMPXCHG8B(a_fnWorker, a_Type) \ 12686 IEM_MC_BEGIN( 4, 5,IEM_MC_F_NOT_286_OR_OLDER, 0); \12686 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); \ 12687 12687 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 12688 12688 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ … … 12741 12741 */ 12742 12742 #define BODY_CMPXCHG16B_HEAD(bUnmapInfoStmt, a_Type) \ 12743 IEM_MC_BEGIN( 5, 4,IEM_MC_F_64BIT, 0); \12743 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 12744 12744 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \ 12745 12745 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); \ … … 12867 12867 if (IEM_IS_MODRM_REG_MODE(bRm)) 12868 12868 { 12869 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);12869 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 12870 12870 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 12871 12871 IEM_MC_ARG_CONST(uint8_t, iReg, /*=*/ IEM_GET_MODRM_RM(pVCpu, bRm), 0); … … 12888 12888 IEMOP_HLP_IN_VMX_OPERATION("vmptrld", kVmxVDiag_Vmptrld); 12889 12889 IEMOP_HLP_VMX_INSTR("vmptrld", kVmxVDiag_Vmptrld); 12890 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);12890 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 12891 12891 IEM_MC_ARG(RTGCPTR, GCPtrEffSrc, 1); 12892 12892 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); … … 12907 12907 IEMOP_HLP_IN_VMX_OPERATION("vmclear", kVmxVDiag_Vmclear); 12908 12908 IEMOP_HLP_VMX_INSTR("vmclear", kVmxVDiag_Vmclear); 12909 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);12909 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 12910 12910 IEM_MC_ARG(RTGCPTR, GCPtrEffDst, 1); 12911 12911 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 12925 12925 IEMOP_MNEMONIC(vmxon, "vmxon"); 12926 12926 IEMOP_HLP_VMX_INSTR("vmxon", kVmxVDiag_Vmxon); 12927 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);12927 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 12928 12928 IEM_MC_ARG(RTGCPTR, GCPtrEffSrc, 1); 12929 12929 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); … … 12944 12944 IEMOP_HLP_IN_VMX_OPERATION("vmptrst", kVmxVDiag_Vmptrst); 12945 12945 IEMOP_HLP_VMX_INSTR("vmptrst", kVmxVDiag_Vmptrst); 12946 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);12946 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 12947 12947 IEM_MC_ARG(RTGCPTR, GCPtrEffDst, 1); 12948 12948 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0); … … 12965 12965 { 12966 12966 /* register destination. */ 12967 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);12967 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 12968 12968 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 12969 12969 IEM_MC_ARG_CONST(uint8_t, iReg, /*=*/ IEM_GET_MODRM_RM(pVCpu, bRm), 0); … … 13035 13035 { 13036 13036 case IEMMODE_16BIT: 13037 IEM_MC_BEGIN( 1, 0,IEM_MC_F_MIN_486, 0);13037 IEM_MC_BEGIN(IEM_MC_F_MIN_486, 0); 13038 13038 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 13039 13039 IEM_MC_ARG(uint32_t *, pu32Dst, 0); … … 13045 13045 13046 13046 case IEMMODE_32BIT: 13047 IEM_MC_BEGIN( 1, 0,IEM_MC_F_MIN_486, 0);13047 IEM_MC_BEGIN(IEM_MC_F_MIN_486, 0); 13048 13048 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 13049 13049 IEM_MC_ARG(uint32_t *, pu32Dst, 0); … … 13056 13056 13057 13057 case IEMMODE_64BIT: 13058 IEM_MC_BEGIN( 1, 0,IEM_MC_F_64BIT, 0);13058 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 13059 13059 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); 13060 13060 IEM_MC_ARG(uint64_t *, pu64Dst, 0); … … 13281 13281 * Register, register. 13282 13282 */ 13283 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);13283 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 13284 13284 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 13285 13285 IEM_MC_LOCAL(uint64_t, uSrc); … … 13299 13299 * Memory, register. 13300 13300 */ 13301 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);13301 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 13302 13302 IEM_MC_LOCAL(uint64_t, uSrc); 13303 13303 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 13335 13335 */ 13336 13336 IEMOP_MNEMONIC2(RM_REG, MOVQ2DQ, movq2dq, VqZx_WO, Nq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 13337 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);13337 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 13338 13338 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 13339 13339 IEM_MC_LOCAL(uint64_t, uSrc); … … 13387 13387 */ 13388 13388 IEMOP_MNEMONIC2(RM_REG, MOVDQ2Q, movdq2q, Pq_WO, Uq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 13389 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);13389 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 13390 13390 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 13391 13391 IEM_MC_LOCAL(uint64_t, uSrc); … … 13426 13426 /* Note! Taking the lazy approch here wrt the high 32-bits of the GREG. */ 13427 13427 IEMOP_MNEMONIC2(RM_REG, PMOVMSKB, pmovmskb, Gd, Nq, DISOPTYPE_X86_MMX | DISOPTYPE_HARMLESS, 0); 13428 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);13428 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 13429 13429 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX_2_OR(fSse, fAmdMmxExts); 13430 13430 IEM_MC_ARG(uint64_t *, puDst, 0); … … 13455 13455 /* Note! Taking the lazy approch here wrt the high 32-bits of the GREG. */ 13456 13456 IEMOP_MNEMONIC2(RM_REG, PMOVMSKB, pmovmskb, Gd, Ux, DISOPTYPE_X86_SSE | DISOPTYPE_HARMLESS, 0); 13457 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);13457 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 13458 13458 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 13459 13459 IEM_MC_ARG(uint64_t *, puDst, 0); … … 13784 13784 { 13785 13785 /* Register, memory. */ 13786 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);13786 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 13787 13787 IEM_MC_LOCAL(uint64_t, uSrc); 13788 13788 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 13831 13831 { 13832 13832 /* Register, memory. */ 13833 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);13833 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 13834 13834 IEM_MC_LOCAL(RTUINT128U, uSrc); 13835 13835 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 14042 14042 * Register, memory. 14043 14043 */ 14044 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);14044 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 14045 14045 IEM_MC_LOCAL(RTUINT128U, u128Tmp); 14046 14046 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); -
trunk/src/VBox/VMM/VMMAll/IEMAllInstVexMap1.cpp.h
r103909 r104018 51 51 if (pVCpu->iem.s.uVexLength) 52 52 { 53 IEM_MC_BEGIN( 4, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);53 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 54 54 IEMOP_HLP_DONE_VEX_DECODING_EX(fAvx2); 55 55 IEM_MC_LOCAL(RTUINT256U, uDst); … … 71 71 else 72 72 { 73 IEM_MC_BEGIN( 4, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);73 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 74 74 IEMOP_HLP_DONE_VEX_DECODING_EX(fAvx); 75 75 IEM_MC_IMPLICIT_AVX_AIMPL_ARGS(); … … 95 95 if (pVCpu->iem.s.uVexLength) 96 96 { 97 IEM_MC_BEGIN( 4, 4,IEM_MC_F_NOT_286_OR_OLDER, 0);97 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 98 98 IEM_MC_LOCAL(RTUINT256U, uDst); 99 99 IEM_MC_LOCAL(RTUINT256U, uSrc1); … … 120 120 else 121 121 { 122 IEM_MC_BEGIN( 4, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);122 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 123 123 IEM_MC_LOCAL(RTUINT128U, uSrc2); 124 124 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 165 165 if (pVCpu->iem.s.uVexLength) 166 166 { 167 IEM_MC_BEGIN( 3, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);167 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 168 168 IEMOP_HLP_DONE_VEX_DECODING_EX(fAvx2); 169 169 IEM_MC_LOCAL(RTUINT256U, uDst); … … 184 184 else 185 185 { 186 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);186 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 187 187 IEMOP_HLP_DONE_VEX_DECODING_EX(fAvx); 188 188 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 207 207 if (pVCpu->iem.s.uVexLength) 208 208 { 209 IEM_MC_BEGIN( 3, 4,IEM_MC_F_NOT_286_OR_OLDER, 0);209 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 210 210 IEM_MC_LOCAL(RTUINT256U, uDst); 211 211 IEM_MC_LOCAL(RTUINT256U, uSrc1); … … 231 231 else 232 232 { 233 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);233 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 234 234 IEM_MC_LOCAL(RTUINT128U, uSrc2); 235 235 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 307 307 if (pVCpu->iem.s.uVexLength) 308 308 { 309 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);309 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 310 310 IEMOP_HLP_DONE_VEX_DECODING_EX(fAvx2); 311 311 IEM_MC_LOCAL(RTUINT256U, uDst); … … 323 323 else 324 324 { 325 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);325 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 326 326 IEMOP_HLP_DONE_VEX_DECODING_EX(fAvx); 327 327 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 344 344 if (pVCpu->iem.s.uVexLength) 345 345 { 346 IEM_MC_BEGIN( 2, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);346 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 347 347 IEM_MC_LOCAL(RTUINT256U, uDst); 348 348 IEM_MC_LOCAL(RTUINT256U, uSrc); … … 365 365 else 366 366 { 367 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);367 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 368 368 IEM_MC_LOCAL(RTUINT128U, uSrc); 369 369 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 432 432 * Register, register. 433 433 */ 434 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);434 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 435 435 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); 436 436 IEM_MC_MAYBE_RAISE_AVX_RELATED_XCPT(); … … 450 450 * 128-bit: Register, Memory 451 451 */ 452 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);452 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 453 453 IEM_MC_LOCAL(RTUINT128U, uSrc); 454 454 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 470 470 * 256-bit: Register, Memory 471 471 */ 472 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);472 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 473 473 IEM_MC_LOCAL(RTUINT256U, uSrc); 474 474 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 507 507 * Register, register. 508 508 */ 509 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);509 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 510 510 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); 511 511 IEM_MC_MAYBE_RAISE_AVX_RELATED_XCPT(); … … 525 525 * 128-bit: Memory, register. 526 526 */ 527 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);527 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 528 528 IEM_MC_LOCAL(RTUINT128U, uSrc); 529 529 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 545 545 * 256-bit: Memory, register. 546 546 */ 547 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);547 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 548 548 IEM_MC_LOCAL(RTUINT256U, uSrc); 549 549 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 583 583 */ 584 584 IEMOP_MNEMONIC3(VEX_RVM_REG, VMOVSS, vmovss, Vss_WO, HssHi, Uss, DISOPTYPE_HARMLESS | DISOPTYPE_X86_AVX, IEMOPHINT_IGNORES_OP_SIZES | IEMOPHINT_VEX_L_IGNORED); 585 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);585 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 586 586 IEMOP_HLP_DONE_VEX_DECODING_EX(fAvx); 587 587 IEM_MC_MAYBE_RAISE_AVX_RELATED_XCPT(); … … 608 608 */ 609 609 IEMOP_MNEMONIC2(VEX_RM_MEM, VMOVSS, vmovss, VssZx_WO, Md, DISOPTYPE_HARMLESS | DISOPTYPE_X86_AVX, IEMOPHINT_IGNORES_OP_SIZES | IEMOPHINT_VEX_L_IGNORED); 610 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);610 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 611 611 IEM_MC_LOCAL(uint32_t, uSrc); 612 612 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 646 646 */ 647 647 IEMOP_MNEMONIC3(VEX_RVM_REG, VMOVSD, vmovsd, Vsd_WO, HsdHi, Usd, DISOPTYPE_HARMLESS | DISOPTYPE_X86_AVX, IEMOPHINT_IGNORES_OP_SIZES | IEMOPHINT_VEX_L_IGNORED); 648 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);648 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 649 649 IEMOP_HLP_DONE_VEX_DECODING_EX(fAvx); 650 650 … … 672 672 */ 673 673 IEMOP_MNEMONIC2(VEX_RM_MEM, VMOVSD, vmovsd, VsdZx_WO, Mq, DISOPTYPE_HARMLESS | DISOPTYPE_X86_AVX, IEMOPHINT_IGNORES_OP_SIZES | IEMOPHINT_VEX_L_IGNORED); 674 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);674 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 675 675 IEM_MC_LOCAL(uint64_t, uSrc); 676 676 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 709 709 * Register, register. 710 710 */ 711 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);711 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 712 712 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); 713 713 IEM_MC_MAYBE_RAISE_AVX_RELATED_XCPT(); … … 727 727 * 128-bit: Memory, register. 728 728 */ 729 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);729 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 730 730 IEM_MC_LOCAL(RTUINT128U, uSrc); 731 731 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 747 747 * 256-bit: Memory, register. 748 748 */ 749 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);749 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 750 750 IEM_MC_LOCAL(RTUINT256U, uSrc); 751 751 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 784 784 * Register, register. 785 785 */ 786 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);786 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 787 787 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); 788 788 IEM_MC_MAYBE_RAISE_AVX_RELATED_XCPT(); … … 802 802 * 128-bit: Memory, register. 803 803 */ 804 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);804 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 805 805 IEM_MC_LOCAL(RTUINT128U, uSrc); 806 806 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 822 822 * 256-bit: Memory, register. 823 823 */ 824 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);824 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 825 825 IEM_MC_LOCAL(RTUINT256U, uSrc); 826 826 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 859 859 */ 860 860 IEMOP_MNEMONIC3(VEX_MVR_REG, VMOVSS, vmovss, Uss_WO, HssHi, Vss, DISOPTYPE_HARMLESS | DISOPTYPE_X86_AVX, IEMOPHINT_IGNORES_OP_SIZES | IEMOPHINT_VEX_L_IGNORED); 861 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);861 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 862 862 IEMOP_HLP_DONE_VEX_DECODING_EX(fAvx); 863 863 … … 885 885 */ 886 886 IEMOP_MNEMONIC2(VEX_MR_MEM, VMOVSS, vmovss, Md_WO, Vss, DISOPTYPE_HARMLESS | DISOPTYPE_X86_AVX, IEMOPHINT_IGNORES_OP_SIZES | IEMOPHINT_VEX_L_IGNORED); 887 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);887 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 888 888 IEM_MC_LOCAL(uint32_t, uSrc); 889 889 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 923 923 */ 924 924 IEMOP_MNEMONIC3(VEX_MVR_REG, VMOVSD, vmovsd, Usd_WO, HsdHi, Vsd, DISOPTYPE_HARMLESS | DISOPTYPE_X86_AVX, IEMOPHINT_IGNORES_OP_SIZES | IEMOPHINT_VEX_L_IGNORED); 925 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);925 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 926 926 IEMOP_HLP_DONE_VEX_DECODING_EX(fAvx); 927 927 … … 949 949 */ 950 950 IEMOP_MNEMONIC2(VEX_MR_MEM, VMOVSD, vmovsd, Mq_WO, Vsd, DISOPTYPE_HARMLESS | DISOPTYPE_X86_AVX, IEMOPHINT_IGNORES_OP_SIZES | IEMOPHINT_VEX_L_IGNORED); 951 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);951 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 952 952 IEM_MC_LOCAL(uint64_t, uSrc); 953 953 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 986 986 */ 987 987 IEMOP_MNEMONIC3(VEX_RVM_REG, VMOVHLPS, vmovhlps, Vq_WO, HqHi, UqHi, DISOPTYPE_HARMLESS | DISOPTYPE_X86_AVX, IEMOPHINT_IGNORES_OP_SIZES | IEMOPHINT_VEX_L_ZERO); 988 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);988 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 989 989 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(fAvx); 990 990 … … 1016 1016 IEMOP_MNEMONIC3(VEX_RVM_MEM, VMOVLPS, vmovlps, Vq_WO, HqHi, Mq, DISOPTYPE_HARMLESS | DISOPTYPE_X86_AVX, IEMOPHINT_IGNORES_OP_SIZES | IEMOPHINT_VEX_L_ZERO); 1017 1017 1018 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1018 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1019 1019 IEM_MC_LOCAL(uint64_t, uSrc); 1020 1020 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1055 1055 IEMOP_MNEMONIC3(VEX_RVM_MEM, VMOVLPD, vmovlpd, Vq_WO, HqHi, Mq, DISOPTYPE_HARMLESS | DISOPTYPE_X86_AVX, IEMOPHINT_IGNORES_OP_SIZES | IEMOPHINT_VEX_L_ZERO); 1056 1056 1057 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1057 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1058 1058 IEM_MC_LOCAL(uint64_t, uSrc); 1059 1059 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1112 1112 if (pVCpu->iem.s.uVexLength == 0) 1113 1113 { 1114 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);1114 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1115 1115 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); 1116 1116 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 1131 1131 else 1132 1132 { 1133 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);1133 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1134 1134 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); 1135 1135 IEM_MC_IMPLICIT_AVX_AIMPL_ARGS(); … … 1152 1152 if (pVCpu->iem.s.uVexLength == 0) 1153 1153 { 1154 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1154 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1155 1155 IEM_MC_LOCAL(RTUINT128U, uSrc); 1156 1156 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1173 1173 else 1174 1174 { 1175 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1175 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1176 1176 IEM_MC_LOCAL(RTUINT256U, uSrc); 1177 1177 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1217 1217 if (pVCpu->iem.s.uVexLength == 0) 1218 1218 { 1219 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);1219 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1220 1220 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); 1221 1221 IEM_MC_LOCAL(uint64_t, uSrc); … … 1234 1234 else 1235 1235 { 1236 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);1236 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1237 1237 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); 1238 1238 IEM_MC_IMPLICIT_AVX_AIMPL_ARGS(); … … 1255 1255 if (pVCpu->iem.s.uVexLength == 0) 1256 1256 { 1257 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1257 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1258 1258 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 1259 1259 IEM_MC_LOCAL(uint64_t, uSrc); … … 1274 1274 else 1275 1275 { 1276 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1276 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1277 1277 IEM_MC_LOCAL(RTUINT256U, uSrc); 1278 1278 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1313 1313 IEMOP_MNEMONIC2(VEX_MR_MEM, VMOVLPS, vmovlps, Mq_WO, Vq, DISOPTYPE_HARMLESS | DISOPTYPE_X86_AVX, IEMOPHINT_IGNORES_OP_SIZES | IEMOPHINT_VEX_L_ZERO); 1314 1314 1315 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1315 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1316 1316 IEM_MC_LOCAL(uint64_t, uSrc); 1317 1317 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1360 1360 { 1361 1361 IEMOP_MNEMONIC2(VEX_MR_MEM, VMOVLPD, vmovlpd, Mq_WO, Vq, DISOPTYPE_HARMLESS | DISOPTYPE_X86_AVX, IEMOPHINT_IGNORES_OP_SIZES | IEMOPHINT_VEX_L_ZERO); 1362 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1362 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1363 1363 IEM_MC_LOCAL(uint64_t, uSrc); 1364 1364 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1452 1452 IEMOP_MNEMONIC3(VEX_RVM_REG, VMOVLHPS, vmovlhps, Vq_WO, Hq, Uq, DISOPTYPE_HARMLESS | DISOPTYPE_X86_AVX, IEMOPHINT_IGNORES_OP_SIZES | IEMOPHINT_VEX_L_ZERO); 1453 1453 1454 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);1454 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1455 1455 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(fAvx); 1456 1456 … … 1478 1478 IEMOP_MNEMONIC3(VEX_RVM_MEM, VMOVHPS, vmovhps, Vq_WO, Hq, Mq, DISOPTYPE_HARMLESS | DISOPTYPE_X86_AVX, IEMOPHINT_IGNORES_OP_SIZES | IEMOPHINT_VEX_L_ZERO); 1479 1479 1480 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1480 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1481 1481 IEM_MC_LOCAL(uint64_t, uSrc); 1482 1482 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1513 1513 IEMOP_MNEMONIC3(VEX_RVM_MEM, VMOVHPD, vmovhpd, Vq_WO, Hq, Mq, DISOPTYPE_HARMLESS | DISOPTYPE_X86_AVX, IEMOPHINT_IGNORES_OP_SIZES | IEMOPHINT_VEX_L_ZERO); 1514 1514 1515 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1515 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1516 1516 IEM_MC_LOCAL(uint64_t, uSrc); 1517 1517 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1566 1566 if (pVCpu->iem.s.uVexLength == 0) 1567 1567 { 1568 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);1568 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1569 1569 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); 1570 1570 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 1585 1585 else 1586 1586 { 1587 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);1587 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1588 1588 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); 1589 1589 IEM_MC_IMPLICIT_AVX_AIMPL_ARGS(); … … 1606 1606 if (pVCpu->iem.s.uVexLength == 0) 1607 1607 { 1608 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1608 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1609 1609 IEM_MC_LOCAL(RTUINT128U, uSrc); 1610 1610 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1627 1627 else 1628 1628 { 1629 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1629 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1630 1630 IEM_MC_LOCAL(RTUINT256U, uSrc); 1631 1631 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1667 1667 IEMOP_MNEMONIC2(VEX_MR_MEM, VMOVHPS, vmovhps, Mq_WO, VqHi, DISOPTYPE_HARMLESS | DISOPTYPE_X86_AVX, IEMOPHINT_IGNORES_OP_SIZES | IEMOPHINT_VEX_L_ZERO); 1668 1668 1669 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1669 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1670 1670 IEM_MC_LOCAL(uint64_t, uSrc); 1671 1671 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1713 1713 IEMOP_MNEMONIC2(VEX_MR_MEM, VMOVHPD, vmovhpd, Mq_WO, VqHi, DISOPTYPE_HARMLESS | DISOPTYPE_X86_AVX, IEMOPHINT_IGNORES_OP_SIZES | IEMOPHINT_VEX_L_ZERO); 1714 1714 1715 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1715 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1716 1716 IEM_MC_LOCAL(uint64_t, uSrc); 1717 1717 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1786 1786 * Register, register. 1787 1787 */ 1788 IEM_MC_BEGIN( 1, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);1788 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1789 1789 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); 1790 1790 … … 1807 1807 if (pVCpu->iem.s.uVexLength == 0) 1808 1808 { 1809 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1809 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1810 1810 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 1811 1811 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 1824 1824 else 1825 1825 { 1826 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1826 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1827 1827 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 1828 1828 IEM_MC_LOCAL(RTUINT256U, uSrc); … … 1863 1863 * Register, register. 1864 1864 */ 1865 IEM_MC_BEGIN( 1, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);1865 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1866 1866 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); 1867 1867 … … 1884 1884 if (pVCpu->iem.s.uVexLength == 0) 1885 1885 { 1886 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1886 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1887 1887 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 1888 1888 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 1901 1901 else 1902 1902 { 1903 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1903 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1904 1904 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 1905 1905 IEM_MC_LOCAL(RTUINT256U, uSrc); … … 1959 1959 * Register, register. 1960 1960 */ 1961 IEM_MC_BEGIN( 1, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);1961 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1962 1962 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); 1963 1963 … … 1980 1980 if (pVCpu->iem.s.uVexLength == 0) 1981 1981 { 1982 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1982 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1983 1983 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 1984 1984 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 1997 1997 else 1998 1998 { 1999 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1999 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 2000 2000 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 2001 2001 IEM_MC_LOCAL(RTUINT256U, uSrc); … … 2035 2035 * Register, register. 2036 2036 */ 2037 IEM_MC_BEGIN( 1, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);2037 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 2038 2038 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); 2039 2039 … … 2056 2056 if (pVCpu->iem.s.uVexLength == 0) 2057 2057 { 2058 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);2058 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 2059 2059 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 2060 2060 IEM_MC_LOCAL(RTUINT128U, uSrc); … … 2073 2073 else 2074 2074 { 2075 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);2075 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 2076 2076 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 2077 2077 IEM_MC_LOCAL(RTUINT256U, uSrc); … … 2144 2144 if (pVCpu->iem.s.uVexLength == 0) 2145 2145 { 2146 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);2146 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 2147 2147 IEM_MC_LOCAL(RTUINT128U, uSrc); 2148 2148 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 2161 2161 else 2162 2162 { 2163 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);2163 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 2164 2164 IEM_MC_LOCAL(RTUINT256U, uSrc); 2165 2165 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 2205 2205 if (pVCpu->iem.s.uVexLength == 0) 2206 2206 { 2207 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);2207 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 2208 2208 IEM_MC_LOCAL(RTUINT128U, uSrc); 2209 2209 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 2222 2222 else 2223 2223 { 2224 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);2224 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 2225 2225 IEM_MC_LOCAL(RTUINT256U, uSrc); 2226 2226 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 2294 2294 * Register, register. 2295 2295 */ 2296 IEM_MC_BEGIN( 4, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);2296 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 2297 2297 IEMOP_HLP_DONE_VEX_DECODING_L0_AND_NO_VVVV_EX(fAvx); 2298 2298 IEM_MC_LOCAL(uint32_t, fEFlags); … … 2323 2323 * Register, memory. 2324 2324 */ 2325 IEM_MC_BEGIN( 4, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);2325 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 2326 2326 IEM_MC_LOCAL(uint32_t, fEFlags); 2327 2327 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); … … 2370 2370 * Register, register. 2371 2371 */ 2372 IEM_MC_BEGIN( 4, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);2372 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 2373 2373 IEMOP_HLP_DONE_VEX_DECODING_L0_AND_NO_VVVV_EX(fAvx); 2374 2374 IEM_MC_LOCAL(uint32_t, fEFlags); … … 2399 2399 * Register, memory. 2400 2400 */ 2401 IEM_MC_BEGIN( 4, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);2401 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 2402 2402 IEM_MC_LOCAL(uint32_t, fEFlags); 2403 2403 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); … … 2449 2449 * Register, register. 2450 2450 */ 2451 IEM_MC_BEGIN( 4, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);2451 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 2452 2452 IEMOP_HLP_DONE_VEX_DECODING_L0_AND_NO_VVVV_EX(fAvx); 2453 2453 IEM_MC_LOCAL(uint32_t, fEFlags); … … 2478 2478 * Register, memory. 2479 2479 */ 2480 IEM_MC_BEGIN( 4, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);2480 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 2481 2481 IEM_MC_LOCAL(uint32_t, fEFlags); 2482 2482 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); … … 2525 2525 * Register, register. 2526 2526 */ 2527 IEM_MC_BEGIN( 4, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);2527 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 2528 2528 IEMOP_HLP_DONE_VEX_DECODING_L0_AND_NO_VVVV_EX(fAvx); 2529 2529 IEM_MC_LOCAL(uint32_t, fEFlags); … … 2554 2554 * Register, memory. 2555 2555 */ 2556 IEM_MC_BEGIN( 4, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);2556 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 2557 2557 IEM_MC_LOCAL(uint32_t, fEFlags); 2558 2558 IEM_MC_ARG(uint32_t *, pfMxcsr, 0); … … 2635 2635 if (pVCpu->iem.s.uVexLength == 0) 2636 2636 { 2637 IEM_MC_BEGIN( 2, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);2637 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 2638 2638 IEMOP_HLP_DONE_VEX_DECODING_EX(fAvx); 2639 2639 IEM_MC_LOCAL(uint8_t, u8Dst); … … 2651 2651 else 2652 2652 { 2653 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);2653 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 2654 2654 IEMOP_HLP_DONE_VEX_DECODING_EX(fAvx2); 2655 2655 IEM_MC_LOCAL(uint8_t, u8Dst); … … 2686 2686 if (pVCpu->iem.s.uVexLength == 0) 2687 2687 { 2688 IEM_MC_BEGIN( 2, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);2688 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 2689 2689 IEMOP_HLP_DONE_VEX_DECODING_EX(fAvx); 2690 2690 IEM_MC_LOCAL(uint8_t, u8Dst); … … 2702 2702 else 2703 2703 { 2704 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);2704 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 2705 2705 IEMOP_HLP_DONE_VEX_DECODING_EX(fAvx2); 2706 2706 IEM_MC_LOCAL(uint8_t, u8Dst); … … 3044 3044 // * Register, register. 3045 3045 // */ 3046 // IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);3046 // IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 3047 3047 // IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 3048 3048 // IEM_MC_ARG(PRTUINT128U, pDst, 0); … … 3061 3061 // * Register, memory. 3062 3062 // */ 3063 // IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);3063 // IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 3064 3064 // IEM_MC_ARG(PRTUINT128U, pDst, 0); 3065 3065 // IEM_MC_LOCAL(RTUINT128U, uSrc); … … 3194 3194 { 3195 3195 /* XMM, greg64 */ 3196 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);3196 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 3197 3197 IEMOP_HLP_DONE_VEX_DECODING_L0_AND_NO_VVVV_EX(fAvx); 3198 3198 IEM_MC_LOCAL(uint64_t, u64Tmp); … … 3210 3210 { 3211 3211 /* XMM, [mem64] */ 3212 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);3212 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 3213 3213 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 3214 3214 IEM_MC_LOCAL(uint64_t, u64Tmp); … … 3244 3244 { 3245 3245 /* XMM, greg32 */ 3246 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);3246 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 3247 3247 IEMOP_HLP_DONE_VEX_DECODING_L0_AND_NO_VVVV_EX(fAvx); 3248 3248 IEM_MC_LOCAL(uint32_t, u32Tmp); … … 3260 3260 { 3261 3261 /* XMM, [mem32] */ 3262 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);3262 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 3263 3263 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 3264 3264 IEM_MC_LOCAL(uint32_t, u32Tmp); … … 3303 3303 * Register, register. 3304 3304 */ 3305 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);3305 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 3306 3306 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); 3307 3307 … … 3322 3322 * Register, memory128. 3323 3323 */ 3324 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);3324 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 3325 3325 IEM_MC_LOCAL(RTUINT128U, u128Tmp); 3326 3326 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 3342 3342 * Register, memory256. 3343 3343 */ 3344 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);3344 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 3345 3345 IEM_MC_LOCAL(RTUINT256U, u256Tmp); 3346 3346 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 3378 3378 * Register, register. 3379 3379 */ 3380 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);3380 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 3381 3381 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); 3382 3382 … … 3397 3397 * Register, memory128. 3398 3398 */ 3399 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);3399 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 3400 3400 IEM_MC_LOCAL(RTUINT128U, u128Tmp); 3401 3401 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 3417 3417 * Register, memory256. 3418 3418 */ 3419 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);3419 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 3420 3420 IEM_MC_LOCAL(RTUINT256U, u256Tmp); 3421 3421 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 3456 3456 if (pVCpu->iem.s.uVexLength) 3457 3457 { 3458 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);3458 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 3459 3459 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx2); 3460 3460 IEM_MC_LOCAL(RTUINT256U, uDst); … … 3473 3473 else 3474 3474 { 3475 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);3475 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 3476 3476 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); 3477 3477 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 3495 3495 if (pVCpu->iem.s.uVexLength) 3496 3496 { 3497 IEM_MC_BEGIN( 3, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);3497 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 3498 3498 IEM_MC_LOCAL(RTUINT256U, uDst); 3499 3499 IEM_MC_LOCAL(RTUINT256U, uSrc); … … 3518 3518 else 3519 3519 { 3520 IEM_MC_BEGIN( 3, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);3520 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 3521 3521 IEM_MC_LOCAL(RTUINT128U, uSrc); 3522 3522 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 3587 3587 */ 3588 3588 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 3589 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);3589 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 3590 3590 IEMOP_HLP_DONE_VEX_DECODING_EX(fAvx); 3591 3591 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 3614 3614 */ 3615 3615 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 3616 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);3616 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 3617 3617 IEMOP_HLP_DONE_VEX_DECODING_EX(fAvx2); 3618 3618 IEM_MC_LOCAL(RTUINT256U, uDst); … … 3928 3928 */ 3929 3929 IEMOP_MNEMONIC(vzeroupper, "vzeroupper"); 3930 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);3930 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 3931 3931 3932 3932 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); … … 3964 3964 */ 3965 3965 IEMOP_MNEMONIC(vzeroall, "vzeroall"); 3966 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);3966 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 3967 3967 3968 3968 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); … … 4058 4058 { 4059 4059 /* greg64, XMM */ 4060 IEM_MC_BEGIN( 0, 1,IEM_MC_F_64BIT, 0);4060 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 4061 4061 IEMOP_HLP_DONE_VEX_DECODING_L0_AND_NO_VVVV_EX(fAvx); 4062 4062 IEM_MC_LOCAL(uint64_t, u64Tmp); … … 4074 4074 { 4075 4075 /* [mem64], XMM */ 4076 IEM_MC_BEGIN( 0, 2,IEM_MC_F_64BIT, 0);4076 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 4077 4077 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 4078 4078 IEM_MC_LOCAL(uint64_t, u64Tmp); … … 4108 4108 { 4109 4109 /* greg32, XMM */ 4110 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);4110 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 4111 4111 IEMOP_HLP_DONE_VEX_DECODING_L0_AND_NO_VVVV_EX(fAvx); 4112 4112 IEM_MC_LOCAL(uint32_t, u32Tmp); … … 4124 4124 { 4125 4125 /* [mem32], XMM */ 4126 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);4126 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 4127 4127 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 4128 4128 IEM_MC_LOCAL(uint32_t, u32Tmp); … … 4161 4161 * Register, register. 4162 4162 */ 4163 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);4163 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 4164 4164 IEMOP_HLP_DONE_VEX_DECODING_L0_AND_NO_VVVV_EX(fAvx); 4165 4165 … … 4177 4177 * Memory, register. 4178 4178 */ 4179 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);4179 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 4180 4180 IEM_MC_LOCAL(uint64_t, uSrc); 4181 4181 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 4218 4218 * Register, register. 4219 4219 */ 4220 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);4220 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 4221 4221 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); 4222 4222 … … 4237 4237 * Register, memory128. 4238 4238 */ 4239 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);4239 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 4240 4240 IEM_MC_LOCAL(RTUINT128U, u128Tmp); 4241 4241 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 4257 4257 * Register, memory256. 4258 4258 */ 4259 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);4259 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 4260 4260 IEM_MC_LOCAL(RTUINT256U, u256Tmp); 4261 4261 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 4294 4294 * Register, register. 4295 4295 */ 4296 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);4296 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 4297 4297 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); 4298 4298 … … 4313 4313 * Register, memory128. 4314 4314 */ 4315 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);4315 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 4316 4316 IEM_MC_LOCAL(RTUINT128U, u128Tmp); 4317 4317 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 4333 4333 * Register, memory256. 4334 4334 */ 4335 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);4335 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 4336 4336 IEM_MC_LOCAL(RTUINT256U, u256Tmp); 4337 4337 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 4427 4427 //{ 4428 4428 // IEMOP_MNEMONIC1(M_MEM, VLDMXCSR, vldmxcsr, MdRO, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES); 4429 // IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);4429 // IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 4430 4430 // IEM_MC_ARG(RTGCPTR, GCPtrEff, 1); 4431 4431 // IEM_MC_CALC_RM_EFF_ADDR(GCPtrEff, bRm, 0); … … 4480 4480 { 4481 4481 IEMOP_MNEMONIC1(VEX_M_MEM, VSTMXCSR, vstmxcsr, Md_WO, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES | IEMOPHINT_VEX_L_ZERO); 4482 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);4482 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 4483 4483 IEM_MC_ARG(RTGCPTR, GCPtrEff, 1); 4484 4484 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEff, bRm, 0); … … 4592 4592 * Register, register. 4593 4593 */ 4594 IEM_MC_BEGIN( 4, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);4594 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 4595 4595 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 4596 4596 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(fAvx); … … 4615 4615 * Register, memory. 4616 4616 */ 4617 IEM_MC_BEGIN( 4, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);4617 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 4618 4618 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 4619 4619 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 4658 4658 */ 4659 4659 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 4660 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);4660 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 4661 4661 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(fAvx); 4662 4662 IEM_MC_LOCAL(uint16_t, uValue); … … 4688 4688 { \ 4689 4689 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); \ 4690 IEM_MC_BEGIN( 4, 3,IEM_MC_F_NOT_286_OR_OLDER, 0); \4690 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); \ 4691 4691 IEMOP_HLP_DONE_VEX_DECODING_EX(fAvx2); \ 4692 4692 IEM_MC_LOCAL(RTUINT256U, uDst); \ … … 4710 4710 { \ 4711 4711 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); \ 4712 IEM_MC_BEGIN( 4, 0,IEM_MC_F_NOT_286_OR_OLDER, 0); \4712 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); \ 4713 4713 IEMOP_HLP_DONE_VEX_DECODING_EX(fAvx); \ 4714 4714 IEM_MC_ARG(PRTUINT128U, puDst, 0); \ … … 4735 4735 if (pVCpu->iem.s.uVexLength) \ 4736 4736 { \ 4737 IEM_MC_BEGIN( 4, 4,IEM_MC_F_NOT_286_OR_OLDER, 0); \4737 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); \ 4738 4738 IEM_MC_LOCAL(RTUINT256U, uDst); \ 4739 4739 IEM_MC_LOCAL(RTUINT256U, uSrc1); \ … … 4759 4759 else \ 4760 4760 { \ 4761 IEM_MC_BEGIN( 4, 2,IEM_MC_F_NOT_286_OR_OLDER, 0); \4761 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); \ 4762 4762 IEM_MC_LOCAL(RTUINT128U, uSrc2); \ 4763 4763 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); \ … … 4911 4911 * Register, register. 4912 4912 */ 4913 IEM_MC_BEGIN( 0, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);4913 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 4914 4914 IEMOP_HLP_DONE_VEX_DECODING_L0_AND_NO_VVVV_EX(fAvx); 4915 4915 … … 4927 4927 * Memory, register. 4928 4928 */ 4929 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);4929 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 4930 4930 IEM_MC_LOCAL(uint64_t, uSrc); 4931 4931 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 4961 4961 if (pVCpu->iem.s.uVexLength) 4962 4962 { 4963 IEM_MC_BEGIN( 2, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);4963 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 4964 4964 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx2); 4965 4965 IEM_MC_ARG(uint64_t *, puDst, 0); … … 4977 4977 else 4978 4978 { 4979 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);4979 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 4980 4980 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); 4981 4981 IEM_MC_ARG(uint64_t *, puDst, 0); … … 5235 5235 * 128-bit: Memory, register. 5236 5236 */ 5237 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);5237 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 5238 5238 IEM_MC_LOCAL(RTUINT128U, uSrc); 5239 5239 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 5255 5255 * 256-bit: Memory, register. 5256 5256 */ 5257 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);5257 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 5258 5258 IEM_MC_LOCAL(RTUINT256U, uSrc); 5259 5259 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 5433 5433 * Register, memory128. 5434 5434 */ 5435 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);5435 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 5436 5436 IEM_MC_LOCAL(RTUINT128U, u128Tmp); 5437 5437 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 5453 5453 * Register, memory256. 5454 5454 */ 5455 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);5455 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 5456 5456 IEM_MC_LOCAL(RTUINT256U, u256Tmp); 5457 5457 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); -
trunk/src/VBox/VMM/VMMAll/IEMAllInstVexMap2.cpp.h
r103837 r104018 246 246 if (pVCpu->iem.s.uVexLength) 247 247 { 248 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);248 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 249 249 IEMOP_HLP_DONE_VEX_DECODING_EX(fAvx2); 250 250 IEM_MC_LOCAL(RTUINT256U, uSrc1); … … 265 265 else 266 266 { 267 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);267 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 268 268 IEMOP_HLP_DONE_VEX_DECODING_EX(fAvx); 269 269 IEM_MC_ARG(PCRTUINT128U, puSrc1, 0); … … 287 287 if (pVCpu->iem.s.uVexLength) 288 288 { 289 IEM_MC_BEGIN( 3, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);289 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 290 290 IEM_MC_LOCAL(RTUINT256U, uSrc1); 291 291 IEM_MC_LOCAL(RTUINT256U, uSrc2); … … 311 311 else 312 312 { 313 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);313 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 314 314 IEM_MC_LOCAL(RTUINT128U, uSrc2); 315 315 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 350 350 if (pVCpu->iem.s.uVexLength) 351 351 { 352 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);352 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 353 353 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx2); 354 354 IEM_MC_LOCAL(uint32_t, uSrc); … … 365 365 else 366 366 { 367 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);367 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 368 368 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx2); 369 369 IEM_MC_LOCAL(uint32_t, uSrc); … … 385 385 if (pVCpu->iem.s.uVexLength) 386 386 { 387 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);387 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 388 388 IEM_MC_LOCAL(uint32_t, uSrc); 389 389 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 402 402 else 403 403 { 404 IEM_MC_BEGIN( 3, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);404 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 405 405 IEM_MC_LOCAL(uint32_t, uSrc); 406 406 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 436 436 if (pVCpu->iem.s.uVexLength) 437 437 { 438 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);438 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 439 439 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx2); 440 440 IEM_MC_LOCAL(uint64_t, uSrc); … … 451 451 else 452 452 { 453 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);453 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 454 454 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx2); 455 455 IEM_MC_LOCAL(uint64_t, uSrc); … … 469 469 * Register, memory. 470 470 */ 471 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);471 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 472 472 IEM_MC_LOCAL(uint64_t, uSrc); 473 473 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 507 507 * Register, memory. 508 508 */ 509 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);509 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 510 510 IEM_MC_LOCAL(RTUINT128U, uSrc); 511 511 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 576 576 if (pVCpu->iem.s.uVexLength) \ 577 577 { \ 578 IEM_MC_BEGIN( 2, 1,IEM_MC_F_NOT_286_OR_OLDER, 0); \578 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); \ 579 579 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx2); \ 580 580 IEM_MC_LOCAL(RTUINT256U, uDst); \ … … 593 593 else \ 594 594 { \ 595 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0); \595 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); \ 596 596 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); \ 597 597 IEM_MC_ARG(PRTUINT128U, puDst, 0); \ … … 616 616 if (pVCpu->iem.s.uVexLength) \ 617 617 { \ 618 IEM_MC_BEGIN( 2, 3,IEM_MC_F_NOT_286_OR_OLDER, 0); \618 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); \ 619 619 IEM_MC_LOCAL(RTUINT256U, uDst); \ 620 620 IEM_MC_LOCAL(RTUINT128U, uSrc); \ … … 636 636 else \ 637 637 { \ 638 IEM_MC_BEGIN( 2, 1,IEM_MC_F_NOT_286_OR_OLDER, 0); \638 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); \ 639 639 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); \ 640 640 IEM_MC_ARG(PRTUINT128U, puDst, 0); \ … … 753 753 IEMOP_MNEMONIC2EX(vmovntdqa_Vdq_WO_Mdq_L0, "vmovntdqa, Vdq_WO, Mdq", VEX_RM_MEM, VMOVNTDQA, vmovntdqa, Vx_WO, Mx, 754 754 DISOPTYPE_HARMLESS | DISOPTYPE_X86_AVX, IEMOPHINT_IGNORES_OP_SIZES); 755 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);755 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 756 756 IEM_MC_LOCAL(RTUINT128U, uSrc); 757 757 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 784 784 IEMOP_MNEMONIC2EX(vmovntdqa_Vqq_WO_Mqq_L1, "vmovntdqa, Vqq_WO,Mqq", VEX_RM_MEM, VMOVNTDQA, vmovntdqa, Vx_WO, Mx, 785 785 DISOPTYPE_HARMLESS | DISOPTYPE_X86_AVX, IEMOPHINT_IGNORES_OP_SIZES); 786 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);786 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 787 787 IEM_MC_LOCAL(RTUINT256U, uSrc); 788 788 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 993 993 * Register, register. 994 994 */ 995 IEM_MC_BEGIN( 2, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);995 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 996 996 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(fAvx); 997 997 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 1012 1012 * Register, memory. 1013 1013 */ 1014 IEM_MC_BEGIN( 2, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1014 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1015 1015 IEM_MC_LOCAL(RTUINT128U, uSrc); 1016 1016 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1116 1116 if (pVCpu->iem.s.uVexLength) 1117 1117 { 1118 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);1118 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1119 1119 IEM_MC_LOCAL(uint32_t, uSrc); 1120 1120 … … 1131 1131 else 1132 1132 { 1133 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);1133 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1134 1134 IEM_MC_LOCAL(uint32_t, uSrc); 1135 1135 … … 1151 1151 if (pVCpu->iem.s.uVexLength) 1152 1152 { 1153 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1153 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1154 1154 IEM_MC_LOCAL(uint32_t, uSrc); 1155 1155 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1168 1168 else 1169 1169 { 1170 IEM_MC_BEGIN( 3, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);1170 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1171 1171 IEM_MC_LOCAL(uint32_t, uSrc); 1172 1172 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1199 1199 if (pVCpu->iem.s.uVexLength) 1200 1200 { 1201 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);1201 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1202 1202 IEM_MC_LOCAL(uint64_t, uSrc); 1203 1203 … … 1214 1214 else 1215 1215 { 1216 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);1216 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1217 1217 IEM_MC_LOCAL(uint64_t, uSrc); 1218 1218 … … 1234 1234 if (pVCpu->iem.s.uVexLength) 1235 1235 { 1236 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1236 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1237 1237 IEM_MC_LOCAL(uint64_t, uSrc); 1238 1238 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1251 1251 else 1252 1252 { 1253 IEM_MC_BEGIN( 3, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);1253 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1254 1254 IEM_MC_LOCAL(uint64_t, uSrc); 1255 1255 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1287 1287 * Register, memory. 1288 1288 */ 1289 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1289 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1290 1290 IEM_MC_LOCAL(RTUINT128U, uSrc); 1291 1291 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1350 1350 if (pVCpu->iem.s.uVexLength) 1351 1351 { 1352 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);1352 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1353 1353 IEM_MC_LOCAL(uint8_t, uSrc); 1354 1354 … … 1365 1365 else 1366 1366 { 1367 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);1367 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1368 1368 IEM_MC_LOCAL(uint8_t, uSrc); 1369 1369 … … 1385 1385 if (pVCpu->iem.s.uVexLength) 1386 1386 { 1387 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1387 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1388 1388 IEM_MC_LOCAL(uint8_t, uSrc); 1389 1389 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1402 1402 else 1403 1403 { 1404 IEM_MC_BEGIN( 3, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);1404 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1405 1405 IEM_MC_LOCAL(uint8_t, uSrc); 1406 1406 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1433 1433 if (pVCpu->iem.s.uVexLength) 1434 1434 { 1435 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);1435 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1436 1436 IEM_MC_LOCAL(uint16_t, uSrc); 1437 1437 … … 1448 1448 else 1449 1449 { 1450 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);1450 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1451 1451 IEM_MC_LOCAL(uint16_t, uSrc); 1452 1452 … … 1468 1468 if (pVCpu->iem.s.uVexLength) 1469 1469 { 1470 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1470 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1471 1471 IEM_MC_LOCAL(uint16_t, uSrc); 1472 1472 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1485 1485 else 1486 1486 { 1487 IEM_MC_BEGIN( 3, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);1487 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1488 1488 IEM_MC_LOCAL(uint16_t, uSrc); 1489 1489 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 1718 1718 if (pVCpu->iem.s.fPrefixes & IEM_OP_PRF_SIZE_REX_W) 1719 1719 { 1720 IEM_MC_BEGIN( 4, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);1720 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1721 1721 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(fBmi1); 1722 1722 IEM_MC_ARG(uint64_t *, pDst, 0); … … 1735 1735 else 1736 1736 { 1737 IEM_MC_BEGIN( 4, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);1737 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1738 1738 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(fBmi1); 1739 1739 IEM_MC_ARG(uint32_t *, pDst, 0); … … 1759 1759 if (pVCpu->iem.s.fPrefixes & IEM_OP_PRF_SIZE_REX_W) 1760 1760 { 1761 IEM_MC_BEGIN( 4, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);1761 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1762 1762 IEM_MC_ARG(uint64_t *, pDst, 0); 1763 1763 IEM_MC_ARG(uint64_t, uSrc1, 1); … … 1778 1778 else 1779 1779 { 1780 IEM_MC_BEGIN( 4, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);1780 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1781 1781 IEM_MC_ARG(uint32_t *, pDst, 0); 1782 1782 IEM_MC_ARG(uint32_t, uSrc1, 1); … … 1819 1819 if (pVCpu->iem.s.fPrefixes & IEM_OP_PRF_SIZE_REX_W) \ 1820 1820 { \ 1821 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0); \1821 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 1822 1822 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(fBmi1); \ 1823 1823 IEM_MC_ARG(uint64_t *, pDst, 0); \ … … 1834 1834 else \ 1835 1835 { \ 1836 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0); \1836 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); \ 1837 1837 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(fBmi1); \ 1838 1838 IEM_MC_ARG(uint32_t *, pDst, 0); \ … … 1856 1856 if (pVCpu->iem.s.fPrefixes & IEM_OP_PRF_SIZE_REX_W) \ 1857 1857 { \ 1858 IEM_MC_BEGIN( 3, 1,IEM_MC_F_64BIT, 0); \1858 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 1859 1859 IEM_MC_ARG(uint64_t *, pDst, 0); \ 1860 1860 IEM_MC_ARG(uint64_t, uSrc, 1); \ … … 1873 1873 else \ 1874 1874 { \ 1875 IEM_MC_BEGIN( 3, 1,IEM_MC_F_NOT_286_OR_OLDER, 0); \1875 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); \ 1876 1876 IEM_MC_ARG(uint32_t *, pDst, 0); \ 1877 1877 IEM_MC_ARG(uint32_t, uSrc, 1); \ … … 1982 1982 if (pVCpu->iem.s.fPrefixes & IEM_OP_PRF_SIZE_REX_W) \ 1983 1983 { \ 1984 IEM_MC_BEGIN( 4, 0,IEM_MC_F_64BIT, 0); \1984 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 1985 1985 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(a_fFeatureMember); \ 1986 1986 IEM_MC_ARG(uint64_t *, pDst, 0); \ … … 2000 2000 else \ 2001 2001 { \ 2002 IEM_MC_BEGIN( 4, 0,IEM_MC_F_NOT_286_OR_OLDER, 0); \2002 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); \ 2003 2003 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(a_fFeatureMember); \ 2004 2004 IEM_MC_ARG(uint32_t *, pDst, 0); \ … … 2025 2025 if (pVCpu->iem.s.fPrefixes & IEM_OP_PRF_SIZE_REX_W) \ 2026 2026 { \ 2027 IEM_MC_BEGIN( 4, 1,IEM_MC_F_64BIT, 0); \2027 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 2028 2028 IEM_MC_ARG(uint64_t *, pDst, 0); \ 2029 2029 IEM_MC_ARG(uint64_t, uSrc1, 1); \ … … 2045 2045 else \ 2046 2046 { \ 2047 IEM_MC_BEGIN( 4, 1,IEM_MC_F_NOT_286_OR_OLDER, 0); \2047 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); \ 2048 2048 IEM_MC_ARG(uint32_t *, pDst, 0); \ 2049 2049 IEM_MC_ARG(uint32_t, uSrc1, 1); \ … … 2077 2077 if (pVCpu->iem.s.fPrefixes & IEM_OP_PRF_SIZE_REX_W) \ 2078 2078 { \ 2079 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0); \2079 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 2080 2080 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(a_fFeatureMember); \ 2081 2081 IEM_MC_ARG(uint64_t *, pDst, 0); \ … … 2092 2092 else \ 2093 2093 { \ 2094 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0); \2094 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); \ 2095 2095 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(a_fFeatureMember); \ 2096 2096 IEM_MC_ARG(uint32_t *, pDst, 0); \ … … 2114 2114 if (pVCpu->iem.s.fPrefixes & IEM_OP_PRF_SIZE_REX_W) \ 2115 2115 { \ 2116 IEM_MC_BEGIN( 3, 1,IEM_MC_F_64BIT, 0); \2116 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 2117 2117 IEM_MC_ARG(uint64_t *, pDst, 0); \ 2118 2118 IEM_MC_ARG(uint64_t, uSrc1, 1); \ … … 2131 2131 else \ 2132 2132 { \ 2133 IEM_MC_BEGIN( 3, 1,IEM_MC_F_NOT_286_OR_OLDER, 0); \2133 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); \ 2134 2134 IEM_MC_ARG(uint32_t *, pDst, 0); \ 2135 2135 IEM_MC_ARG(uint32_t, uSrc1, 1); \ … … 2176 2176 if (pVCpu->iem.s.fPrefixes & IEM_OP_PRF_SIZE_REX_W) \ 2177 2177 { \ 2178 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0); \2178 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 2179 2179 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(a_fFeatureMember); \ 2180 2180 IEM_MC_ARG(uint64_t *, pDst, 0); \ … … 2192 2192 else \ 2193 2193 { \ 2194 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0); \2194 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); \ 2195 2195 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(a_fFeatureMember); \ 2196 2196 IEM_MC_ARG(uint32_t *, pDst, 0); \ … … 2215 2215 if (pVCpu->iem.s.fPrefixes & IEM_OP_PRF_SIZE_REX_W) \ 2216 2216 { \ 2217 IEM_MC_BEGIN( 3, 1,IEM_MC_F_64BIT, 0); \2217 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); \ 2218 2218 IEM_MC_ARG(uint64_t *, pDst, 0); \ 2219 2219 IEM_MC_ARG(uint64_t, uSrc1, 1); \ … … 2233 2233 else \ 2234 2234 { \ 2235 IEM_MC_BEGIN( 3, 1,IEM_MC_F_NOT_286_OR_OLDER, 0); \2235 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); \ 2236 2236 IEM_MC_ARG(uint32_t *, pDst, 0); \ 2237 2237 IEM_MC_ARG(uint32_t, uSrc1, 1); \ … … 2291 2291 if (pVCpu->iem.s.fPrefixes & IEM_OP_PRF_SIZE_REX_W) 2292 2292 { 2293 IEM_MC_BEGIN( 4, 0,IEM_MC_F_64BIT, 0);2293 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 2294 2294 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(fBmi2); 2295 2295 IEM_MC_ARG(uint64_t *, pDst1, 0); … … 2308 2308 else 2309 2309 { 2310 IEM_MC_BEGIN( 4, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);2310 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 2311 2311 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(fBmi2); 2312 2312 IEM_MC_ARG(uint32_t *, pDst1, 0); … … 2333 2333 if (pVCpu->iem.s.fPrefixes & IEM_OP_PRF_SIZE_REX_W) 2334 2334 { 2335 IEM_MC_BEGIN( 4, 1,IEM_MC_F_64BIT, 0);2335 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 2336 2336 IEM_MC_ARG(uint64_t *, pDst1, 0); 2337 2337 IEM_MC_ARG(uint64_t *, pDst2, 1); … … 2352 2352 else 2353 2353 { 2354 IEM_MC_BEGIN( 4, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);2354 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 2355 2355 IEM_MC_ARG(uint32_t *, pDst1, 0); 2356 2356 IEM_MC_ARG(uint32_t *, pDst2, 1); -
trunk/src/VBox/VMM/VMMAll/IEMAllInstVexMap3.cpp.h
r103959 r104018 53 53 if (pVCpu->iem.s.uVexLength) 54 54 { 55 IEM_MC_BEGIN( 4, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);55 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 56 56 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 57 57 IEMOP_HLP_DONE_VEX_DECODING_EX(fAvx2); … … 75 75 else 76 76 { 77 IEM_MC_BEGIN( 4, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);77 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 78 78 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 79 79 IEMOP_HLP_DONE_VEX_DECODING_EX(fAvx); … … 100 100 if (pVCpu->iem.s.uVexLength) 101 101 { 102 IEM_MC_BEGIN( 4, 4,IEM_MC_F_NOT_286_OR_OLDER, 0);102 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 103 103 IEM_MC_LOCAL(RTUINT256U, uDst); 104 104 IEM_MC_LOCAL(RTUINT256U, uSrc1); … … 126 126 else 127 127 { 128 IEM_MC_BEGIN( 4, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);128 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 129 129 IEM_MC_LOCAL(RTUINT128U, uSrc2); 130 130 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 173 173 if (pVCpu->iem.s.uVexLength) 174 174 { 175 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);175 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 176 176 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); 177 177 IEM_MC_LOCAL(RTUINT256U, uDst); … … 190 190 else 191 191 { 192 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);192 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 193 193 IEMOP_HLP_DONE_VEX_DECODING_NO_VVVV_EX(fAvx); 194 194 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 212 212 if (pVCpu->iem.s.uVexLength) 213 213 { 214 IEM_MC_BEGIN( 3, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);214 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 215 215 IEM_MC_LOCAL(RTUINT256U, uDst); 216 216 IEM_MC_LOCAL(RTUINT256U, uSrc); … … 235 235 else 236 236 { 237 IEM_MC_BEGIN( 3, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);237 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 238 238 IEM_MC_LOCAL(RTUINT128U, uSrc); 239 239 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 280 280 if (pVCpu->iem.s.uVexLength) 281 281 { 282 IEM_MC_BEGIN( 4, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);282 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 283 283 IEMOP_HLP_DONE_VEX_DECODING_EX(fAvx); 284 284 IEM_MC_LOCAL(RTUINT256U, uDst); … … 300 300 else 301 301 { 302 IEM_MC_BEGIN( 4, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);302 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 303 303 IEMOP_HLP_DONE_VEX_DECODING_EX(fAvx); 304 304 IEM_MC_ARG(PRTUINT128U, puDst, 0); … … 324 324 if (pVCpu->iem.s.uVexLength) 325 325 { 326 IEM_MC_BEGIN( 4, 4,IEM_MC_F_NOT_286_OR_OLDER, 0);326 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 327 327 IEM_MC_LOCAL(RTUINT256U, uDst); 328 328 IEM_MC_LOCAL(RTUINT256U, uSrc1); … … 350 350 else 351 351 { 352 IEM_MC_BEGIN( 4, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);352 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 353 353 IEM_MC_LOCAL(RTUINT128U, uSrc2); 354 354 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 426 426 * Register, register. 427 427 */ 428 IEM_MC_BEGIN( 4, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);428 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 429 429 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 430 430 IEMOP_HLP_DONE_VEX_DECODING_L1_EX(fAvx2); … … 451 451 * Register, memory. 452 452 */ 453 IEM_MC_BEGIN( 4, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);453 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 454 454 IEM_MC_LOCAL(RTUINT256U, uDst); 455 455 IEM_MC_LOCAL(RTUINT256U, uSrc1); … … 550 550 */ 551 551 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 552 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);552 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 553 553 IEMOP_HLP_DONE_VEX_DECODING_L0_AND_NO_VVVV_EX(fAvx); 554 554 IEM_MC_MAYBE_RAISE_AVX_RELATED_XCPT(); … … 567 567 */ 568 568 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 569 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);569 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 570 570 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 571 571 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); … … 596 596 */ 597 597 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 598 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);598 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 599 599 IEM_MC_LOCAL(uint16_t, uValue); 600 600 … … 614 614 */ 615 615 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 616 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);616 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 617 617 IEM_MC_LOCAL(uint16_t, uValue); 618 618 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 644 644 */ 645 645 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 646 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);646 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 647 647 IEM_MC_LOCAL(uint64_t, uValue); 648 648 … … 662 662 */ 663 663 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 664 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);664 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 665 665 IEM_MC_LOCAL(uint64_t, uValue); 666 666 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 689 689 */ 690 690 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 691 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);691 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 692 692 IEM_MC_LOCAL(uint32_t, uValue); 693 693 … … 707 707 */ 708 708 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 709 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);709 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 710 710 IEM_MC_LOCAL(uint32_t, uValue); 711 711 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 739 739 * Register, register. 740 740 */ 741 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);741 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 742 742 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 743 743 IEMOP_HLP_DONE_VEX_DECODING_L1_EX(fAvx2); … … 759 759 * Register, memory. 760 760 */ 761 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);761 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 762 762 IEM_MC_LOCAL(RTUINT128U, uSrc); 763 763 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 831 831 * Register, register. 832 832 */ 833 IEM_MC_BEGIN( 0, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);833 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 834 834 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 835 835 IEMOP_HLP_DONE_VEX_DECODING_L1_EX(fAvx2); … … 851 851 * Register, memory. 852 852 */ 853 IEM_MC_BEGIN( 0, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);853 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 854 854 IEM_MC_LOCAL(RTUINT128U, uSrc); 855 855 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 909 909 * Register, register. 910 910 */ 911 IEM_MC_BEGIN( 4, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);911 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 912 912 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 913 913 IEMOP_HLP_DONE_VEX_DECODING_L0_EX(fPclMul); … … 932 932 * Register, memory. 933 933 */ 934 IEM_MC_BEGIN( 4, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);934 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 935 935 IEM_MC_LOCAL(RTUINT128U, uSrc2); 936 936 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); … … 972 972 * Register, register. 973 973 */ 974 IEM_MC_BEGIN( 4, 3,IEM_MC_F_NOT_286_OR_OLDER, 0);974 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 975 975 uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); 976 976 IEMOP_HLP_DONE_VEX_DECODING_L1_EX(fAvx2); … … 997 997 * Register, memory. 998 998 */ 999 IEM_MC_BEGIN( 4, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);999 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1000 1000 IEM_MC_LOCAL(RTUINT256U, uDst); 1001 1001 IEM_MC_LOCAL(RTUINT256U, uSrc1); … … 1051 1051 if (pVCpu->iem.s.uVexLength) 1052 1052 { 1053 IEM_MC_BEGIN( 4, 4,IEM_MC_F_NOT_286_OR_OLDER, 0);1053 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1054 1054 IEMOP_HLP_DONE_VEX_DECODING_W0_EX(fAvx); 1055 1055 IEM_MC_MAYBE_RAISE_AVX_RELATED_XCPT(); … … 1073 1073 else 1074 1074 { 1075 IEM_MC_BEGIN( 4, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);1075 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1076 1076 IEMOP_HLP_DONE_VEX_DECODING_W0_EX(fAvx); 1077 1077 IEM_MC_MAYBE_RAISE_AVX_RELATED_XCPT(); … … 1098 1098 if (pVCpu->iem.s.uVexLength) 1099 1099 { 1100 IEM_MC_BEGIN( 4, 5,IEM_MC_F_NOT_286_OR_OLDER, 0);1100 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1101 1101 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 1102 1102 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); … … 1126 1126 else 1127 1127 { 1128 IEM_MC_BEGIN( 4, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1128 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1129 1129 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 1130 1130 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); … … 1193 1193 if (pVCpu->iem.s.uVexLength) 1194 1194 { 1195 IEM_MC_BEGIN( 4, 4,IEM_MC_F_NOT_286_OR_OLDER, 0);1195 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1196 1196 IEMOP_HLP_DONE_VEX_DECODING_W0_EX(fAvx2); 1197 1197 IEM_MC_MAYBE_RAISE_AVX_RELATED_XCPT(); … … 1221 1221 else 1222 1222 { 1223 IEM_MC_BEGIN( 4, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);1223 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1224 1224 IEMOP_HLP_DONE_VEX_DECODING_W0_EX(fAvx); 1225 1225 IEM_MC_MAYBE_RAISE_AVX_RELATED_XCPT(); … … 1246 1246 if (pVCpu->iem.s.uVexLength) 1247 1247 { 1248 IEM_MC_BEGIN( 4, 5,IEM_MC_F_NOT_286_OR_OLDER, 0);1248 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1249 1249 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 1250 1250 … … 1279 1279 else 1280 1280 { 1281 IEM_MC_BEGIN( 4, 2,IEM_MC_F_NOT_286_OR_OLDER, 0);1281 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1282 1282 IEM_MC_LOCAL(RTGCPTR, GCPtrEffSrc); 1283 1283 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); … … 1458 1458 if (pVCpu->iem.s.fPrefixes & IEM_OP_PRF_SIZE_REX_W) 1459 1459 { 1460 IEM_MC_BEGIN( 3, 0,IEM_MC_F_64BIT, 0);1460 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 1461 1461 IEMOP_HLP_DONE_VEX_DECODING_L0_AND_NO_VVVV_EX(fBmi2); 1462 1462 IEM_MC_ARG(uint64_t *, pDst, 0); … … 1471 1471 else 1472 1472 { 1473 IEM_MC_BEGIN( 3, 0,IEM_MC_F_NOT_286_OR_OLDER, 0);1473 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1474 1474 IEMOP_HLP_DONE_VEX_DECODING_L0_AND_NO_VVVV_EX(fBmi2); 1475 1475 IEM_MC_ARG(uint32_t *, pDst, 0); … … 1491 1491 if (pVCpu->iem.s.fPrefixes & IEM_OP_PRF_SIZE_REX_W) 1492 1492 { 1493 IEM_MC_BEGIN( 3, 1,IEM_MC_F_64BIT, 0);1493 IEM_MC_BEGIN(IEM_MC_F_64BIT, 0); 1494 1494 IEM_MC_ARG(uint64_t *, pDst, 0); 1495 1495 IEM_MC_ARG(uint64_t, uSrc1, 1); … … 1507 1507 else 1508 1508 { 1509 IEM_MC_BEGIN( 3, 1,IEM_MC_F_NOT_286_OR_OLDER, 0);1509 IEM_MC_BEGIN(IEM_MC_F_NOT_286_OR_OLDER, 0); 1510 1510 IEM_MC_ARG(uint32_t *, pDst, 0); 1511 1511 IEM_MC_ARG(uint32_t, uSrc1, 1); -
trunk/src/VBox/VMM/VMMAll/IEMAllN8veLiveness.cpp
r103949 r104018 52 52 */ 53 53 #ifndef IEMLIVENESS_EXTENDED_LAYOUT 54 # define IEM_MC_BEGIN (a_cArgs, a_cLocals, a_fMcFlags, a_fCImplFlags) \54 # define IEM_MC_BEGIN_EX(a_fMcFlags, a_fCImplFlags, a_cArgs) \ 55 55 { \ 56 56 /* Define local variables that we use to accumulate the liveness state changes in. */ \ … … 60 60 bool fDoneXpctOrCall = false 61 61 #else 62 # define IEM_MC_BEGIN (a_cArgs, a_cLocals, a_fMcFlags, a_fCImplFlags) \62 # define IEM_MC_BEGIN_EX(a_fMcFlags, a_fCImplFlags, a_cArgs) \ 63 63 { \ 64 64 /* Define local variables that we use to accumulate the liveness state changes in. */ \ -
trunk/src/VBox/VMM/VMMAll/IEMAllN8vePython.py
r103995 r104018 499 499 # 500 500 iConvArgToLocal = 0; 501 cStmts = len(aoStmts); 502 iStmt = 0; 501 oNewBeginExStmt = None; 502 cStmts = len(aoStmts); 503 iStmt = 0; 503 504 while iStmt < cStmts: 504 505 oStmt = aoStmts[iStmt]; 505 506 if oStmt.sName == 'IEM_MC_BEGIN': 507 oNewStmt = copy.deepcopy(oStmt); 508 oNewStmt.sName = 'IEM_MC_BEGIN_EX'; 506 509 fWithoutFlags = ( self.oVariation.isWithFlagsCheckingAndClearingVariation() 507 510 and self.oVariation.oParent.hasWithFlagsCheckingAndClearingVariation()); 508 511 if fWithoutFlags or self.oVariation.oParent.dsCImplFlags: 509 oNewStmt = copy.deepcopy(oStmt);510 512 if fWithoutFlags: 511 oNewStmt.asParams[ 2] = ' | '.join(sorted( list(self.oVariation.oParent.oMcBlock.dsMcFlags.keys())513 oNewStmt.asParams[0] = ' | '.join(sorted( list(self.oVariation.oParent.oMcBlock.dsMcFlags.keys()) 512 514 + ['IEM_MC_F_WITHOUT_FLAGS',] )); 513 515 if self.oVariation.oParent.dsCImplFlags: 514 oNewStmt.asParams[3] = ' | '.join(sorted(self.oVariation.oParent.dsCImplFlags.keys())); 515 aoStmts[iStmt] = oNewStmt; 516 oNewStmt.asParams[1] = ' | '.join(sorted(self.oVariation.oParent.dsCImplFlags.keys())); 517 oNewStmt.asParams.append('%s' % (len(self.oVariation.oParent.oMcBlock.aoArgs),)); 518 aoStmts[iStmt] = oNewStmt; 519 oNewBeginExStmt = oNewStmt; 516 520 elif isinstance(oStmt, iai.McStmtNativeIf): 517 521 if self.kdOptionArchToVal[self.sHostArch] in oStmt.asArchitectures: … … 526 530 527 531 iStmt += 1; 532 if iConvArgToLocal > 0: 533 oNewBeginExStmt.asParams[2] = '0'; 528 534 529 535 # -
trunk/src/VBox/VMM/VMMAll/IEMAllN8veRecompFuncs.h
r104009 r104018 133 133 134 134 /********************************************************************************************************************************* 135 * Emitters for IEM_MC_BEGIN and IEM_MC_END. *135 * Emitters for IEM_MC_BEGIN_EX and IEM_MC_END. * 136 136 *********************************************************************************************************************************/ 137 137 138 #define IEM_MC_BEGIN(a_cArgs, a_cLocals, a_fMcFlags, a_fCImplFlags) \ 138 #undef IEM_MC_BEGIN /* unused */ 139 #define IEM_MC_BEGIN_EX(a_fMcFlags, a_fCImplFlags, a_cArgs) \ 139 140 { \ 140 141 Assert(pReNative->Core.bmVars == 0); \ -
trunk/src/VBox/VMM/VMMAll/IEMAllThrdPython.py
r103922 r104018 2471 2471 #print('oNewStmt %s %s' % (oNewStmt.sName, len(oNewStmt.asParams),)); 2472 2472 if oNewStmt.sName == 'IEM_MC_BEGIN' and self.dsCImplFlags: 2473 oNewStmt.asParams[ 3] = ' | '.join(sorted(self.dsCImplFlags.keys()));2473 oNewStmt.asParams[1] = ' | '.join(sorted(self.dsCImplFlags.keys())); 2474 2474 2475 2475 # If we haven't emitted the threaded function call yet, look for … … 2663 2663 cbMaxVarsAndArgs = 0; 2664 2664 for oThreadedFunction in self.aoThreadedFuncs: 2665 if oThreadedFunction.oMcBlock. cLocals >= 0:2665 if oThreadedFunction.oMcBlock.aoLocals or oThreadedFunction.oMcBlock.aoArgs: 2666 2666 # Counts. 2667 assert oThreadedFunction.oMcBlock.cArgs >= 0;2668 cMax Vars = max(cMaxVars, oThreadedFunction.oMcBlock.cLocals);2669 cMax Args = max(cMaxArgs, oThreadedFunction.oMcBlock.cArgs);2670 cMaxVarsAndArgs = max(cMaxVarsAndArgs, oThreadedFunction.oMcBlock.cLocals + oThreadedFunction.oMcBlock.cArgs);2667 cMaxVars = max(cMaxVars, len(oThreadedFunction.oMcBlock.aoLocals)); 2668 cMaxArgs = max(cMaxArgs, len(oThreadedFunction.oMcBlock.aoArgs)); 2669 cMaxVarsAndArgs = max(cMaxVarsAndArgs, 2670 len(oThreadedFunction.oMcBlock.aoLocals) + len(oThreadedFunction.oMcBlock.aoArgs)); 2671 2671 if cMaxVarsAndArgs > 9: 2672 2672 raise Exception('%s potentially uses too many variables / args: %u, max 10 - %u vars and %u args' 2673 2673 % (oThreadedFunction.oMcBlock.oFunction.sName, cMaxVarsAndArgs, 2674 oThreadedFunction.oMcBlock.cLocals, oThreadedFunction.oMcBlock.cArgs));2674 len(oThreadedFunction.oMcBlock.aoLocals), len(oThreadedFunction.oMcBlock.aoArgs),)); 2675 2675 # Calc stack allocation size: 2676 2676 cbArgs = 0; -
trunk/src/VBox/VMM/VMMAll/IEMAllThrdTables.h
r102879 r104018 119 119 */ 120 120 #undef IEM_MC_BEGIN 121 #define IEM_MC_BEGIN(a_ cArgs, a_cLocals, a_fMcFlags, a_fCImplFlags) \121 #define IEM_MC_BEGIN(a_fMcFlags, a_fCImplFlags) \ 122 122 { \ 123 123 pVCpu->iem.s.fTbCurInstr = (a_fCImplFlags) /*| ((a_fMcFlags) << 20*/ -
trunk/src/VBox/VMM/include/IEMMc.h
r104017 r104018 41 41 */ 42 42 43 #define IEM_MC_BEGIN(a_ cArgs, a_cLocals, a_fMcFlags, a_fCImplFlags) {44 #define IEM_MC_END() 43 #define IEM_MC_BEGIN(a_fMcFlags, a_fCImplFlags) { 44 #define IEM_MC_END() } 45 45 46 46 /** Internal macro. */ -
trunk/src/VBox/VMM/include/IEMN8veRecompiler.h
r103993 r104018 1337 1337 uint8_t cCondDepth; 1338 1338 1339 /** The argument count + hidden regs from the IEM_MC_BEGIN statement. */1339 /** The argument count + hidden regs from the IEM_MC_BEGIN_EX statement. */ 1340 1340 uint8_t cArgs; 1341 1341 /** The IEM_CIMPL_F_XXX flags from the IEM_MC_BEGIN statement. */ -
trunk/src/VBox/VMM/testcase/tstIEMCheckMc.cpp
r104017 r104018 566 566 567 567 #define IEM_ARG_CHECK_CALLBACK(a_idx, a_User) int RT_CONCAT(iArgCheck_,a_idx); NOREF(RT_CONCAT(iArgCheck_,a_idx)) 568 #define IEM_MC_BEGIN(a_ cArgs, a_cLocals, a_fMcFlags, a_fCImplFlags) \568 #define IEM_MC_BEGIN(a_fMcFlags, a_fCImplFlags) \ 569 569 { \ 570 const uint8_t cArgs = (a_cArgs); NOREF(cArgs); \ 571 const uint8_t cLocals = (a_cLocals); NOREF(cLocals); \ 572 const uint32_t fMcBegin = (((a_cArgs) + (a_cLocals)) << 23) + (a_fMcFlags) + (a_fCImplFlags); \ 573 IEM_REPEAT(a_cArgs, IEM_ARG_CHECK, 0); \ 570 const uint32_t fMcBegin = ((a_fMcFlags) + (a_fCImplFlags)) 574 571 575 572 #define IEM_MC_END() \ … … 636 633 637 634 #define IEM_MC_ARG(a_Type, a_Name, a_iArg) (void)fMcBegin; \ 638 RT_CONCAT(iArgCheck_,a_iArg) = 1; NOREF(RT_CONCAT(iArgCheck_,a_iArg)); \635 int RT_CONCAT(iArgCheck_,a_iArg) = 1; NOREF(RT_CONCAT(iArgCheck_,a_iArg)); \ 639 636 int RT_CONCAT3(iArgCheck_,a_iArg,a_Name); \ 640 AssertCompile((a_iArg) < cArgs); \641 637 int RT_CONCAT(iVarCheck_,a_Name) = 0; \ 642 638 a_Type a_Name; \ 643 639 NOREF(a_Name) 644 640 #define IEM_MC_ARG_CONST(a_Type, a_Name, a_Value, a_iArg) (void)fMcBegin; \ 645 RT_CONCAT(iArgCheck_, a_iArg) = 1; NOREF(RT_CONCAT(iArgCheck_,a_iArg)); \641 int RT_CONCAT(iArgCheck_, a_iArg) = 1; NOREF(RT_CONCAT(iArgCheck_,a_iArg)); \ 646 642 int RT_CONCAT3(iArgCheck_,a_iArg,a_Name); \ 647 AssertCompile((a_iArg) < cArgs); \648 643 int RT_CONCAT(iVarCheck_,a_Name) = 0; \ 649 644 a_Type const a_Name = (a_Value); \ … … 653 648 654 649 #define IEM_MC_ARG_LOCAL_REF(a_Type, a_Name, a_Local, a_iArg) (void)fMcBegin; \ 655 RT_CONCAT(iArgCheck_, a_iArg) = 1; NOREF(RT_CONCAT(iArgCheck_,a_iArg)); \650 int RT_CONCAT(iArgCheck_, a_iArg) = 1; NOREF(RT_CONCAT(iArgCheck_,a_iArg)); \ 656 651 int RT_CONCAT3(iArgCheck_,a_iArg,a_Name); \ 657 AssertCompile((a_iArg) < cArgs); \658 652 int RT_CONCAT(iVarCheck_,a_Name) = 0; \ 659 653 a_Type const a_Name = &(a_Local); \ 660 654 NOREF(a_Name) 661 655 #define IEM_MC_ARG_LOCAL_EFLAGS(a_pName, a_Name, a_iArg) (void)fMcBegin; \ 662 RT_CONCAT(iArgCheck_, a_iArg) = 1; NOREF(RT_CONCAT(iArgCheck_,a_iArg)); \656 int RT_CONCAT(iArgCheck_, a_iArg) = 1; NOREF(RT_CONCAT(iArgCheck_,a_iArg)); \ 663 657 int RT_CONCAT3(iArgCheck_,a_iArg,a_pName); \ 664 AssertCompile((a_iArg) < cArgs); \665 658 int RT_CONCAT(iVarCheck_,a_Name) = 0; \ 666 659 int RT_CONCAT(iVarCheck_,a_pName) = 0; \
Note:
See TracChangeset
for help on using the changeset viewer.