Changeset 99336 in vbox
- Timestamp:
- Apr 7, 2023 12:32:41 PM (20 months ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsPython.py
r99335 r99336 2661 2661 'IEM_MC_MAYBE_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT': McBlock.parseMcGeneric, 2662 2662 'IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT': McBlock.parseMcGeneric, 2663 'IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT': McBlock.parseMcGeneric,2664 2663 'IEM_MC_MAYBE_RAISE_SSE3_RELATED_XCPT': McBlock.parseMcGeneric, 2665 2664 'IEM_MC_MAYBE_RAISE_SSE41_RELATED_XCPT': McBlock.parseMcGeneric, -
trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsTwoByte0f.cpp.h
r99332 r99336 416 416 IEM_MC_ARG(PRTUINT128U, pDst, 0); 417 417 IEM_MC_ARG(PCRTUINT128U, pSrc, 1); 418 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();418 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 419 419 IEM_MC_PREPARE_SSE_USAGE(); 420 420 IEM_MC_REF_XREG_U128(pDst, IEM_GET_MODRM_REG(pVCpu, bRm)); … … 437 437 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 438 438 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 439 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();439 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 440 440 IEM_MC_FETCH_MEM_U128_ALIGN_SSE(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 441 441 … … 474 474 IEM_MC_ARG(PRTUINT128U, pDst, 0); 475 475 IEM_MC_ARG(PCRTUINT128U, pSrc, 1); 476 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();476 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 477 477 IEM_MC_PREPARE_SSE_USAGE(); 478 478 IEM_MC_REF_XREG_U128(pDst, IEM_GET_MODRM_REG(pVCpu, bRm)); … … 495 495 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 496 496 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 497 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();497 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 498 498 IEM_MC_FETCH_MEM_U128_ALIGN_SSE(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 499 499 … … 649 649 IEM_MC_ARG(PRTUINT128U, puDst, 0); 650 650 IEM_MC_ARG(PCRTUINT128U, puSrc, 1); 651 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();651 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 652 652 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 653 653 IEM_MC_REF_XREG_U128(puDst, IEM_GET_MODRM_REG(pVCpu, bRm)); … … 670 670 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 671 671 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 672 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();672 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 673 673 /** @todo Most CPUs probably only read the low qword. We read everything to 674 674 * make sure we apply segmentation and alignment checks correctly. … … 961 961 IEM_MC_ARG(PCX86XMMREG, pSrc1, 1); 962 962 IEM_MC_ARG(PCX86XMMREG, pSrc2, 2); 963 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();963 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 964 964 IEM_MC_PREPARE_SSE_USAGE(); 965 965 IEM_MC_REF_XREG_XMM_CONST(pSrc1, IEM_GET_MODRM_REG(pVCpu, bRm)); … … 987 987 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 988 988 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 989 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();989 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 990 990 IEM_MC_FETCH_MEM_XMM_ALIGN_SSE(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 991 991 … … 1025 1025 IEM_MC_ARG(PCX86XMMREG, pSrc1, 1); 1026 1026 IEM_MC_ARG(PCRTFLOAT64U, pSrc2, 2); 1027 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();1027 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 1028 1028 IEM_MC_PREPARE_SSE_USAGE(); 1029 1029 IEM_MC_REF_XREG_XMM_CONST(pSrc1, IEM_GET_MODRM_REG(pVCpu, bRm)); … … 1051 1051 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 1052 1052 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 1053 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();1053 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 1054 1054 IEM_MC_FETCH_MEM_R64(r64Src2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 1055 1055 … … 1087 1087 IEM_MC_ARG(PRTUINT128U, puDst, 0); 1088 1088 IEM_MC_ARG(PCRTUINT128U, puSrc, 1); 1089 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();1089 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 1090 1090 IEM_MC_PREPARE_SSE_USAGE(); 1091 1091 IEM_MC_REF_XREG_U128(puDst, IEM_GET_MODRM_REG(pVCpu, bRm)); … … 1108 1108 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 1109 1109 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 1110 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();1110 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 1111 1111 /** @todo Most CPUs probably only read the high qword. We read everything to 1112 1112 * make sure we apply segmentation and alignment checks correctly. … … 2152 2152 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 2153 2153 IEM_MC_BEGIN(0, 0); 2154 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();2154 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 2155 2155 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 2156 2156 IEM_MC_COPY_XREG_U128(IEM_GET_MODRM_REG(pVCpu, bRm), … … 2170 2170 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 2171 2171 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 2172 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();2172 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 2173 2173 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 2174 2174 … … 2257 2257 IEM_MC_LOCAL(uint64_t, uSrc); 2258 2258 2259 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();2259 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 2260 2260 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 2261 2261 IEM_MC_FETCH_XREG_U64(uSrc, IEM_GET_MODRM_RM(pVCpu, bRm), 0 /* a_iQword*/); … … 2276 2276 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 2277 2277 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 2278 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();2278 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 2279 2279 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 2280 2280 … … 2358 2358 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 2359 2359 IEM_MC_BEGIN(0, 0); 2360 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();2360 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 2361 2361 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 2362 2362 IEM_MC_COPY_XREG_U128(IEM_GET_MODRM_RM(pVCpu, bRm), … … 2376 2376 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 2377 2377 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 2378 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();2378 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 2379 2379 IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ(); 2380 2380 … … 2463 2463 IEM_MC_LOCAL(uint64_t, uSrc); 2464 2464 2465 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();2465 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 2466 2466 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 2467 2467 IEM_MC_FETCH_XREG_U64(uSrc, IEM_GET_MODRM_REG(pVCpu, bRm), 0 /* a_iQword*/); … … 2482 2482 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 2483 2483 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 2484 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();2484 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 2485 2485 IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ(); 2486 2486 … … 2580 2580 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 2581 2581 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 2582 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();2582 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 2583 2583 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 2584 2584 … … 2791 2791 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 2792 2792 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 2793 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();2793 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 2794 2794 IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ(); 2795 2795 … … 2998 2998 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 2999 2999 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 3000 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();3000 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 3001 3001 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 3002 3002 … … 3466 3466 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 3467 3467 IEM_MC_BEGIN(0, 0); 3468 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();3468 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 3469 3469 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 3470 3470 IEM_MC_COPY_XREG_U128(IEM_GET_MODRM_REG(pVCpu, bRm), … … 3484 3484 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 3485 3485 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 3486 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();3486 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 3487 3487 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 3488 3488 … … 3567 3567 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 3568 3568 IEM_MC_BEGIN(0, 0); 3569 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();3569 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 3570 3570 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 3571 3571 IEM_MC_COPY_XREG_U128(IEM_GET_MODRM_RM(pVCpu, bRm), … … 3585 3585 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 3586 3586 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 3587 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();3587 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 3588 3588 IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ(); 3589 3589 … … 3617 3617 IEM_MC_ARG_LOCAL_REF(PX86XMMREG, pDst, Dst, 1); 3618 3618 IEM_MC_ARG(uint64_t, u64Src, 2); 3619 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();3619 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 3620 3620 IEM_MC_MAYBE_RAISE_FPU_XCPT(); 3621 3621 IEM_MC_PREPARE_FPU_USAGE(); … … 3650 3650 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 3651 3651 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 3652 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();3652 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 3653 3653 IEM_MC_MAYBE_RAISE_FPU_XCPT(); 3654 3654 IEM_MC_FETCH_MEM_U64(u64Src, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); … … 3688 3688 IEM_MC_ARG_LOCAL_REF(PX86XMMREG, pDst, Dst, 1); 3689 3689 IEM_MC_ARG(uint64_t, u64Src, 2); 3690 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();3690 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 3691 3691 IEM_MC_MAYBE_RAISE_FPU_XCPT(); 3692 3692 IEM_MC_PREPARE_FPU_USAGE(); … … 3720 3720 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 3721 3721 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 3722 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();3722 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 3723 3723 IEM_MC_MAYBE_RAISE_FPU_XCPT(); 3724 3724 IEM_MC_FETCH_MEM_U64(u64Src, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); … … 3885 3885 3886 3886 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 3887 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();3887 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 3888 3888 IEM_MC_PREPARE_SSE_USAGE(); /** @todo This is superfluous because IEM_MC_CALL_SSE_AIMPL_3() is calling this but the tstIEMCheckMc testcase depends on it. */ 3889 3889 … … 3914 3914 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 3915 3915 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 3916 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();3916 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 3917 3917 IEM_MC_PREPARE_SSE_USAGE(); /** @todo This is superfluous because IEM_MC_CALL_SSE_AIMPL_3() is calling this but the tstIEMCheckMc testcase depends on it. */ 3918 3918 … … 3943 3943 3944 3944 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 3945 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();3945 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 3946 3946 IEM_MC_PREPARE_SSE_USAGE(); /** @todo: This is superfluous because IEM_MC_CALL_SSE_AIMPL_3() is calling this but the tstIEMCheckMc testcase depends on it. */ 3947 3947 … … 3972 3972 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 3973 3973 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 3974 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();3974 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 3975 3975 IEM_MC_PREPARE_SSE_USAGE(); /** @todo: This is superfluous because IEM_MC_CALL_SSE_AIMPL_3() is calling this but the tstIEMCheckMc testcase depends on it. */ 3976 3976 … … 4055 4055 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 4056 4056 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 4057 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();4057 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4058 4058 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 4059 4059 … … 4089 4089 IEM_MC_ARG_LOCAL_REF(uint64_t *, pu64Dst, u64Dst, 1); 4090 4090 IEM_MC_ARG(uint64_t, u64Src, 2); 4091 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();4091 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4092 4092 IEM_MC_PREPARE_FPU_USAGE(); 4093 4093 IEM_MC_FPU_TO_MMX_MODE(); … … 4120 4120 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 4121 4121 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 4122 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();4122 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4123 4123 IEM_MC_FETCH_MEM_U64(u64Src, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 4124 4124 … … 4157 4157 IEM_MC_ARG_LOCAL_REF(uint64_t *, pu64Dst, u64Dst, 1); 4158 4158 IEM_MC_ARG(PCX86XMMREG, pSrc, 2); 4159 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();4159 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4160 4160 IEM_MC_PREPARE_FPU_USAGE(); 4161 4161 IEM_MC_FPU_TO_MMX_MODE(); … … 4189 4189 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 4190 4190 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 4191 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();4191 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4192 4192 IEM_MC_FETCH_MEM_XMM_ALIGN_SSE(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 4193 4193 … … 4354 4354 4355 4355 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 4356 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();4356 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4357 4357 IEM_MC_PREPARE_SSE_USAGE(); /** @todo: This is superfluous because IEM_MC_CALL_SSE_AIMPL_3() is calling this but the tstIEMCheckMc testcase depends on it. */ 4358 4358 … … 4383 4383 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 4384 4384 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 4385 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();4385 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4386 4386 IEM_MC_PREPARE_SSE_USAGE(); /** @todo: This is superfluous because IEM_MC_CALL_SSE_AIMPL_3() is calling this but the tstIEMCheckMc testcase depends on it. */ 4387 4387 … … 4412 4412 4413 4413 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 4414 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();4414 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4415 4415 IEM_MC_PREPARE_SSE_USAGE(); /** @todo: This is superfluous because IEM_MC_CALL_SSE_AIMPL_3() is calling this but the tstIEMCheckMc testcase depends on it. */ 4416 4416 … … 4441 4441 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 4442 4442 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 4443 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();4443 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4444 4444 IEM_MC_PREPARE_SSE_USAGE(); /** @todo: This is superfluous because IEM_MC_CALL_SSE_AIMPL_3() is calling this but the tstIEMCheckMc testcase depends on it. */ 4445 4445 … … 4478 4478 IEM_MC_ARG(uint64_t, u64Src, 2); 4479 4479 4480 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();4480 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4481 4481 IEM_MC_PREPARE_FPU_USAGE(); 4482 4482 IEM_MC_FPU_TO_MMX_MODE(); … … 4509 4509 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 4510 4510 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 4511 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();4511 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4512 4512 IEM_MC_FETCH_MEM_U64(u64Src, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 4513 4513 … … 4547 4547 IEM_MC_ARG(PCX86XMMREG, pSrc, 2); 4548 4548 4549 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();4549 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4550 4550 IEM_MC_PREPARE_FPU_USAGE(); 4551 4551 IEM_MC_FPU_TO_MMX_MODE(); … … 4579 4579 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 4580 4580 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 4581 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();4581 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4582 4582 IEM_MC_FETCH_MEM_XMM_ALIGN_SSE(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 4583 4583 … … 4744 4744 4745 4745 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 4746 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();4746 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4747 4747 IEM_MC_PREPARE_SSE_USAGE(); /** @todo: This is superfluous because IEM_MC_CALL_SSE_AIMPL_3() is calling this but the tstIEMCheckMc testcase depends on it. */ 4748 4748 … … 4773 4773 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 4774 4774 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 4775 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();4775 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4776 4776 IEM_MC_PREPARE_SSE_USAGE(); /** @todo: This is superfluous because IEM_MC_CALL_SSE_AIMPL_3() is calling this but the tstIEMCheckMc testcase depends on it. */ 4777 4777 … … 4802 4802 4803 4803 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 4804 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();4804 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4805 4805 IEM_MC_PREPARE_SSE_USAGE(); /** @todo: This is superfluous because IEM_MC_CALL_SSE_AIMPL_3() is calling this but the tstIEMCheckMc testcase depends on it. */ 4806 4806 … … 4831 4831 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 4832 4832 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 4833 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();4833 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4834 4834 IEM_MC_PREPARE_SSE_USAGE(); /** @todo: This is superfluous because IEM_MC_CALL_SSE_AIMPL_3() is calling this but the tstIEMCheckMc testcase depends on it. */ 4835 4835 … … 4936 4936 IEM_MC_ARG(PCX86XMMREG, puSrc1, 2); 4937 4937 IEM_MC_ARG(PCX86XMMREG, puSrc2, 3); 4938 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();4938 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4939 4939 IEM_MC_PREPARE_SSE_USAGE(); 4940 4940 IEM_MC_FETCH_EFLAGS(fEFlags); … … 4968 4968 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 4969 4969 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 4970 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();4970 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 4971 4971 IEM_MC_FETCH_MEM_XMM_U64(uSrc2, 0 /*a_QWord*/, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 4972 4972 … … 5078 5078 IEM_MC_ARG(PCX86XMMREG, puSrc1, 2); 5079 5079 IEM_MC_ARG(PCX86XMMREG, puSrc2, 3); 5080 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();5080 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 5081 5081 IEM_MC_PREPARE_SSE_USAGE(); 5082 5082 IEM_MC_FETCH_EFLAGS(fEFlags); … … 5110 5110 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 5111 5111 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 5112 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();5112 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 5113 5113 IEM_MC_FETCH_MEM_XMM_U64(uSrc2, 0 /*a_QWord*/, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 5114 5114 … … 5491 5491 IEM_MC_ARG_LOCAL_REF(uint8_t *, pu8Dst, u8Dst, 0); 5492 5492 IEM_MC_ARG(PCRTUINT128U, puSrc, 1); 5493 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();5493 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 5494 5494 IEM_MC_PREPARE_SSE_USAGE(); 5495 5495 IEM_MC_REF_XREG_U128_CONST(puSrc, IEM_GET_MODRM_RM(pVCpu, bRm)); … … 6300 6300 IEM_MC_LOCAL(uint64_t, u64Tmp); 6301 6301 6302 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();6302 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 6303 6303 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 6304 6304 … … 6318 6318 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 6319 6319 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 6320 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();6320 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 6321 6321 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 6322 6322 … … 6350 6350 IEM_MC_LOCAL(uint32_t, u32Tmp); 6351 6351 6352 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();6352 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 6353 6353 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 6354 6354 … … 6368 6368 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 6369 6369 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 6370 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();6370 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 6371 6371 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 6372 6372 … … 6459 6459 IEM_MC_BEGIN(0, 0); 6460 6460 6461 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();6461 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 6462 6462 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 6463 6463 … … 6478 6478 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 6479 6479 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 6480 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();6480 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 6481 6481 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 6482 6482 … … 6509 6509 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 6510 6510 IEM_MC_BEGIN(0, 0); 6511 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();6511 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 6512 6512 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 6513 6513 IEM_MC_COPY_XREG_U128(IEM_GET_MODRM_REG(pVCpu, bRm), … … 6527 6527 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 6528 6528 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 6529 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();6529 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 6530 6530 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 6531 6531 IEM_MC_FETCH_MEM_U128(u128Tmp, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); … … 6622 6622 IEM_MC_ARG(PCRTUINT128U, puSrc, 1); 6623 6623 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 2); 6624 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();6624 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 6625 6625 IEM_MC_PREPARE_SSE_USAGE(); 6626 6626 IEM_MC_REF_XREG_U128(puDst, IEM_GET_MODRM_REG(pVCpu, bRm)); … … 6645 6645 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 2); 6646 6646 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 6647 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();6647 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 6648 6648 6649 6649 IEM_MC_FETCH_MEM_U128_ALIGN_SSE(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); … … 6754 6754 IEM_MC_ARG(PRTUINT128U, pDst, 0); 6755 6755 IEM_MC_ARG_CONST(uint8_t, bShiftArg, /*=*/ bImm, 1); 6756 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();6756 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 6757 6757 IEM_MC_PREPARE_SSE_USAGE(); 6758 6758 IEM_MC_REF_XREG_U128(pDst, IEM_GET_MODRM_RM(pVCpu, bRm)); … … 7421 7421 IEM_MC_LOCAL(uint64_t, u64Tmp); 7422 7422 7423 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();7423 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 7424 7424 IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ(); 7425 7425 … … 7439 7439 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 7440 7440 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 7441 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();7441 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 7442 7442 IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ(); 7443 7443 … … 7471 7471 IEM_MC_LOCAL(uint32_t, u32Tmp); 7472 7472 7473 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();7473 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 7474 7474 IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ(); 7475 7475 … … 7489 7489 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 7490 7490 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 7491 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();7491 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 7492 7492 IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ(); 7493 7493 … … 7523 7523 IEM_MC_LOCAL(uint64_t, uSrc); 7524 7524 7525 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();7525 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 7526 7526 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 7527 7527 … … 7543 7543 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 7544 7544 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 7545 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();7545 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 7546 7546 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 7547 7547 … … 7617 7617 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 7618 7618 IEM_MC_BEGIN(0, 0); 7619 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();7619 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 7620 7620 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 7621 7621 IEM_MC_COPY_XREG_U128(IEM_GET_MODRM_RM(pVCpu, bRm), … … 7635 7635 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 7636 7636 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 7637 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();7637 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 7638 7638 IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ(); 7639 7639 … … 7658 7658 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 7659 7659 IEM_MC_BEGIN(0, 0); 7660 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();7660 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 7661 7661 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 7662 7662 IEM_MC_COPY_XREG_U128(IEM_GET_MODRM_RM(pVCpu, bRm), … … 7676 7676 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 7677 7677 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 7678 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();7678 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 7679 7679 IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ(); 7680 7680 … … 11619 11619 IEM_MC_ARG_LOCAL_REF(PCIEMMEDIAF2XMMSRC, pSrc, Src, 2); 11620 11620 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 3); 11621 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();11621 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 11622 11622 IEM_MC_PREPARE_SSE_USAGE(); 11623 11623 IEM_MC_REF_MXCSR(pfMxcsr); … … 11651 11651 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 3); 11652 11652 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 11653 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();11653 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 11654 11654 IEM_MC_FETCH_MEM_XMM_ALIGN_SSE(Src.uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 11655 11655 … … 11690 11690 IEM_MC_ARG_LOCAL_REF(PCIEMMEDIAF2XMMSRC, pSrc, Src, 2); 11691 11691 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 3); 11692 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();11692 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 11693 11693 IEM_MC_PREPARE_SSE_USAGE(); 11694 11694 IEM_MC_REF_MXCSR(pfMxcsr); … … 11722 11722 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 3); 11723 11723 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 11724 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();11724 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 11725 11725 IEM_MC_FETCH_MEM_XMM_U32(Src.uSrc2, 0 /*a_iDword */, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 11726 11726 … … 11761 11761 IEM_MC_ARG_LOCAL_REF(PCIEMMEDIAF2XMMSRC, pSrc, Src, 2); 11762 11762 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 3); 11763 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();11763 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 11764 11764 IEM_MC_PREPARE_SSE_USAGE(); 11765 11765 IEM_MC_REF_MXCSR(pfMxcsr); … … 11793 11793 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 3); 11794 11794 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 11795 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();11795 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 11796 11796 IEM_MC_FETCH_MEM_XMM_U64(Src.uSrc2, 0 /*a_iQword */, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 11797 11797 … … 11941 11941 IEM_MC_ARG(uint16_t, u16Src, 1); 11942 11942 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 2); 11943 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();11943 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 11944 11944 IEM_MC_PREPARE_SSE_USAGE(); 11945 11945 IEM_MC_FETCH_GREG_U16(u16Src, IEM_GET_MODRM_RM(pVCpu, bRm)); … … 11963 11963 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 2); 11964 11964 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 11965 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();11965 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 11966 11966 IEM_MC_PREPARE_SSE_USAGE(); 11967 11967 … … 12028 12028 IEM_MC_ARG(PCRTUINT128U, puSrc, 1); 12029 12029 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 2); 12030 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();12030 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 12031 12031 IEM_MC_PREPARE_SSE_USAGE(); 12032 12032 IEM_MC_REF_XREG_U128_CONST(puSrc, IEM_GET_MODRM_RM(pVCpu, bRm)); … … 12114 12114 IEM_MC_ARG(PCRTUINT128U, pSrc, 1); 12115 12115 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 2); 12116 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();12116 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 12117 12117 IEM_MC_PREPARE_SSE_USAGE(); 12118 12118 IEM_MC_REF_XREG_U128(pDst, IEM_GET_MODRM_REG(pVCpu, bRm)); … … 12137 12137 IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm, 2); 12138 12138 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 12139 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();12139 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 12140 12140 IEM_MC_FETCH_MEM_U128_ALIGN_SSE(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); 12141 12141 … … 12796 12796 IEM_MC_LOCAL(uint64_t, uSrc); 12797 12797 12798 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();12798 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 12799 12799 IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE(); 12800 12800 … … 12816 12816 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 12817 12817 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 12818 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();12818 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 12819 12819 IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ(); 12820 12820 … … 12850 12850 IEM_MC_LOCAL(uint64_t, uSrc); 12851 12851 12852 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();12852 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 12853 12853 IEM_MC_ACTUALIZE_FPU_STATE_FOR_CHANGE(); 12854 12854 IEM_MC_FPU_TO_MMX_MODE(); … … 12902 12902 IEM_MC_LOCAL(uint64_t, uSrc); 12903 12903 12904 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();12904 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 12905 12905 IEM_MC_ACTUALIZE_FPU_STATE_FOR_CHANGE(); 12906 12906 IEM_MC_FPU_TO_MMX_MODE(); … … 12970 12970 IEM_MC_ARG(uint64_t *, puDst, 0); 12971 12971 IEM_MC_ARG(PCRTUINT128U, puSrc, 1); 12972 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();12972 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 12973 12973 IEM_MC_PREPARE_SSE_USAGE(); 12974 12974 IEM_MC_REF_GREG_U64(puDst, IEM_GET_MODRM_REG(pVCpu, bRm)); … … 13348 13348 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 13349 13349 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 13350 IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();13350 IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 13351 13351 IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ(); 13352 13352 -
trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsVexMap1.cpp.h
r99335 r99336 3021 3021 // * Register, register. 3022 3022 // */ 3023 // IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX ();3023 // IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 3024 3024 // IEM_MC_BEGIN(2, 0); 3025 3025 // IEM_MC_ARG(PRTUINT128U, pDst, 0); 3026 3026 // IEM_MC_ARG(PCRTUINT128U, pSrc, 1); 3027 // IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();3027 // IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 3028 3028 // IEM_MC_PREPARE_SSE_USAGE(); 3029 3029 // IEM_MC_REF_XREG_U128(pDst, IEM_GET_MODRM_REG(pVCpu, bRm)); … … 3045 3045 // 3046 3046 // IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0); 3047 // IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX ();3048 // IEM_MC_MAYBE_RAISE_SSE 2_RELATED_XCPT();3047 // IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2); 3048 // IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT(); 3049 3049 // IEM_MC_FETCH_MEM_U128_ALIGN_SSE(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc); /* Most CPUs probably only right high qword */ 3050 3050 // -
trunk/src/VBox/VMM/include/IEMMc.h
r99335 r99336 138 138 } while (0) 139 139 #define IEM_MC_MAYBE_RAISE_SSE3_RELATED_XCPT() \ 140 do { \141 if ( (pVCpu->cpum.GstCtx.cr0 & X86_CR0_EM) \142 || !(pVCpu->cpum.GstCtx.cr4 & X86_CR4_OSFXSR)) \143 return iemRaiseUndefinedOpcode(pVCpu); \144 if (pVCpu->cpum.GstCtx.cr0 & X86_CR0_TS) \145 return iemRaiseDeviceNotAvailable(pVCpu); \146 } while (0)147 #define IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT() \148 140 do { \ 149 141 if ( (pVCpu->cpum.GstCtx.cr0 & X86_CR0_EM) \ -
trunk/src/VBox/VMM/testcase/tstIEMCheckMc.cpp
r99335 r99336 578 578 #define IEM_MC_MAYBE_RAISE_MMX_RELATED_XCPT() do { (void)fMcBegin; } while (0) 579 579 #define IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT() do { (void)fMcBegin; } while (0) 580 #define IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT() do { (void)fMcBegin; } while (0)581 580 #define IEM_MC_MAYBE_RAISE_SSE3_RELATED_XCPT() do { (void)fMcBegin; } while (0) 582 581 #define IEM_MC_MAYBE_RAISE_SSSE3_RELATED_XCPT() do { (void)fMcBegin; } while (0)
Note:
See TracChangeset
for help on using the changeset viewer.