VirtualBox

Changeset 99327 in vbox for trunk


Ignore:
Timestamp:
Apr 6, 2023 11:59:28 PM (2 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
156729
Message:

VMM/IEM: Use IEMOP_HLP_DONE_DECODING_*EX() rather than IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT to do the CPUID check. bugref:10369

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAllInstructionsTwoByte0f.cpp.h

    r99326 r99327  
    412412         * XMM, XMM.
    413413         */
    414         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     414        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    415415        IEM_MC_BEGIN(2, 0);
    416416        IEM_MC_ARG(PRTUINT128U,          pDst, 0);
     
    436436
    437437        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    438         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     438        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    439439        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    440440        IEM_MC_FETCH_MEM_U128_ALIGN_SSE(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
     
    470470         * XMM, XMM.
    471471         */
    472         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     472        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    473473        IEM_MC_BEGIN(2, 0);
    474474        IEM_MC_ARG(PRTUINT128U,          pDst, 0);
     
    494494
    495495        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    496         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     496        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    497497        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    498498        IEM_MC_FETCH_MEM_U128_ALIGN_SSE(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
     
    645645         * XMM, XMM.
    646646         */
    647         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     647        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    648648        IEM_MC_BEGIN(2, 0);
    649649        IEM_MC_ARG(PRTUINT128U,             puDst, 0);
     
    669669
    670670        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    671         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     671        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    672672        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    673673        /** @todo Most CPUs probably only read the low qword. We read everything to
     
    955955         * XMM128, XMM128.
    956956         */
    957         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     957        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    958958        IEM_MC_BEGIN(3, 1);
    959959        IEM_MC_LOCAL(IEMSSERESULT,          SseRes);
     
    986986
    987987        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    988         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     988        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    989989        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    990990        IEM_MC_FETCH_MEM_XMM_ALIGN_SSE(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
     
    10191019         * XMM, XMM.
    10201020         */
    1021         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     1021        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    10221022        IEM_MC_BEGIN(3, 1);
    10231023        IEM_MC_LOCAL(IEMSSERESULT,          SseRes);
     
    10501050
    10511051        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    1052         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     1052        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    10531053        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    10541054        IEM_MC_FETCH_MEM_R64(r64Src2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
     
    10831083         * XMM, XMM.
    10841084         */
    1085         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     1085        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    10861086        IEM_MC_BEGIN(2, 0);
    10871087        IEM_MC_ARG(PRTUINT128U,             puDst, 0);
     
    11071107
    11081108        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    1109         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     1109        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    11101110        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    11111111        /** @todo Most CPUs probably only read the high qword. We read everything to
     
    21502150         * XMM128, XMM128.
    21512151         */
    2152         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2152        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    21532153        IEM_MC_BEGIN(0, 0);
    21542154        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
     
    21692169
    21702170        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    2171         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2171        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    21722172        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    21732173        IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE();
     
    22532253         * XMM64, XMM64.
    22542254         */
    2255         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2255        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    22562256        IEM_MC_BEGIN(0, 1);
    22572257        IEM_MC_LOCAL(uint64_t,                  uSrc);
     
    22752275
    22762276        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    2277         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2277        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    22782278        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    22792279        IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE();
     
    23562356         * XMM128, XMM128.
    23572357         */
    2358         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2358        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    23592359        IEM_MC_BEGIN(0, 0);
    23602360        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
     
    23752375
    23762376        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    2377         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2377        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    23782378        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    23792379        IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ();
     
    24592459         * XMM64, XMM64.
    24602460         */
    2461         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2461        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    24622462        IEM_MC_BEGIN(0, 1);
    24632463        IEM_MC_LOCAL(uint64_t,                  uSrc);
     
    24812481
    24822482        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    2483         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2483        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    24842484        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    24852485        IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ();
     
    25792579
    25802580        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    2581         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2581        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    25822582        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    25832583        IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE();
     
    27902790
    27912791        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    2792         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2792        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    27932793        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    27942794        IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ();
     
    29972997
    29982998        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    2999         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2999        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    30003000        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    30013001        IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE();
     
    34643464         * Register, register.
    34653465         */
    3466         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3466        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    34673467        IEM_MC_BEGIN(0, 0);
    34683468        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
     
    34833483
    34843484        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    3485         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3485        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    34863486        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    34873487        IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE();
     
    35653565         * Register, register.
    35663566         */
    3567         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3567        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    35683568        IEM_MC_BEGIN(0, 0);
    35693569        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
     
    35843584
    35853585        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    3586         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3586        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    35873587        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    35883588        IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ();
     
    36103610         * XMM, MMX
    36113611         */
    3612         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3612        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    36133613
    36143614        IEM_MC_BEGIN(3, 1);
     
    36493649
    36503650        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    3651         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3651        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    36523652        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    36533653        IEM_MC_MAYBE_RAISE_FPU_XCPT();
     
    36813681         * XMM, MMX
    36823682         */
    3683         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3683        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    36843684
    36853685        IEM_MC_BEGIN(3, 1);
     
    37193719
    37203720        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    3721         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3721        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    37223722        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    37233723        IEM_MC_MAYBE_RAISE_FPU_XCPT();
     
    38483848            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
    38493849            IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    3850             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. */
     3850            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. */
    38513851
    38523852            IEM_MC_FETCH_MEM_I32(i32Src, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
     
    38843884            IEM_MC_ARG(const int64_t *,         pi64Src,          2);
    38853885
    3886             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3886            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    38873887            IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    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. */
     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. */
    38893889
    38903890            IEM_MC_REF_GREG_I64_CONST(pi64Src, IEM_GET_MODRM_RM(pVCpu, bRm));
     
    39133913
    39143914            IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    3915             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3915            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    39163916            IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    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. */
     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. */
    39183918
    39193919            IEM_MC_FETCH_MEM_I64(i64Src, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
     
    39423942            IEM_MC_ARG(const int32_t *,       pi32Src,             2);
    39433943
    3944             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3944            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    39453945            IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    39463946            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. */
     
    39713971
    39723972            IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    3973             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3973            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    39743974            IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    39753975            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. */
     
    40544054
    40554055        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    4056         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4056        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    40574057        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    40584058        IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE();
     
    40824082         * Register, register.
    40834083         */
    4084         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4084        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    40854085
    40864086        IEM_MC_BEGIN(3, 1);
     
    41194119
    41204120        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    4121         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4121        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    41224122        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    41234123        IEM_MC_FETCH_MEM_U64(u64Src, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
     
    41504150         * Register, register.
    41514151         */
    4152         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4152        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    41534153
    41544154        IEM_MC_BEGIN(3, 1);
     
    41884188
    41894189        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    4190         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4190        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    41914191        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    41924192        IEM_MC_FETCH_MEM_XMM_ALIGN_SSE(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
     
    43534353            IEM_MC_ARG(const uint64_t *,     pu64Src,             2);
    43544354
    4355             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4355            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    43564356            IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    43574357            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. */
     
    43824382
    43834383            IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    4384             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4384            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    43854385            IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    43864386            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. */
     
    44114411            IEM_MC_ARG(const uint64_t *,     pu64Src,             2);
    44124412
    4413             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4413            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    44144414            IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    44154415            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. */
     
    44404440
    44414441            IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    4442             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4442            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    44434443            IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    44444444            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. */
     
    44704470         * Register, register.
    44714471         */
    4472         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4472        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    44734473
    44744474        IEM_MC_BEGIN(3, 1);
     
    44774477        IEM_MC_ARG_LOCAL_REF(uint64_t *,    pu64Dst, u64Dst,    1);
    44784478        IEM_MC_ARG(uint64_t,                u64Src,             2);
     4479
    44794480        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    44804481        IEM_MC_PREPARE_FPU_USAGE();
     
    45074508
    45084509        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    4509         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4510        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    45104511        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    45114512        IEM_MC_FETCH_MEM_U64(u64Src, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
     
    45384539         * Register, register.
    45394540         */
    4540         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4541        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    45414542
    45424543        IEM_MC_BEGIN(3, 1);
     
    45454546        IEM_MC_ARG_LOCAL_REF(uint64_t *,    pu64Dst, u64Dst,    1);
    45464547        IEM_MC_ARG(PCX86XMMREG,             pSrc,               2);
     4548
    45474549        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    45484550        IEM_MC_PREPARE_FPU_USAGE();
     
    45764578
    45774579        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    4578         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4580        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    45794581        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    45804582        IEM_MC_FETCH_MEM_XMM_ALIGN_SSE(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
     
    47414743            IEM_MC_ARG(const uint64_t *,     pu64Src,             2);
    47424744
    4743             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4745            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    47444746            IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    47454747            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. */
     
    47704772
    47714773            IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    4772             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4774            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    47734775            IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    47744776            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. */
     
    47994801            IEM_MC_ARG(const uint64_t *,     pu64Src,             2);
    48004802
    4801             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4803            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    48024804            IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    48034805            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. */
     
    48284830
    48294831            IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    4830             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4832            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    48314833            IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    48324834            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. */
     
    49274929         * Register, register.
    49284930         */
    4929         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4931        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    49304932        IEM_MC_BEGIN(4, 1);
    49314933        IEM_MC_LOCAL(uint32_t, fEFlags);
     
    49654967
    49664968        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    4967         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4969        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    49684970        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    49694971        IEM_MC_FETCH_MEM_XMM_U64(uSrc2, 0 /*a_QWord*/, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
     
    50695071         * Register, register.
    50705072         */
    5071         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     5073        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    50725074        IEM_MC_BEGIN(4, 1);
    50735075        IEM_MC_LOCAL(uint32_t, fEFlags);
     
    51075109
    51085110        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    5109         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     5111        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    51105112        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    51115113        IEM_MC_FETCH_MEM_XMM_U64(uSrc2, 0 /*a_QWord*/, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
     
    54845486         * Register, register.
    54855487         */
    5486         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     5488        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    54875489        IEM_MC_BEGIN(2, 1);
    54885490        IEM_MC_LOCAL(uint8_t,           u8Dst);
     
    62946296        {
    62956297            /* XMM, greg64 */
    6296             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     6298            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    62976299            IEM_MC_BEGIN(0, 1);
    62986300            IEM_MC_LOCAL(uint64_t, u64Tmp);
     
    63156317
    63166318            IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    6317             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     6319            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    63186320            IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    63196321            IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE();
     
    63446346        {
    63456347            /* XMM, greg32 */
    6346             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     6348            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    63476349            IEM_MC_BEGIN(0, 1);
    63486350            IEM_MC_LOCAL(uint32_t, u32Tmp);
     
    63656367
    63666368            IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    6367             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     6369            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    63686370            IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    63696371            IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE();
     
    64546456         * Register, register.
    64556457         */
    6456         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     6458        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    64576459        IEM_MC_BEGIN(0, 0);
    64586460
     
    64756477
    64766478        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    6477         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     6479        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    64786480        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    64796481        IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE();
     
    65056507         * Register, register.
    65066508         */
    6507         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     6509        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    65086510        IEM_MC_BEGIN(0, 0);
    65096511        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
     
    65246526
    65256527        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    6526         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     6528        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    65276529        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    65286530        IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE();
     
    66146616         */
    66156617        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm);
    6616         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     6618        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    66176619
    66186620        IEM_MC_BEGIN(3, 0);
     
    66426644        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm);
    66436645        IEM_MC_ARG_CONST(uint8_t,               bImmArg, /*=*/ bImm, 2);
    6644         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     6646        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    66456647        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    66466648
     
    67476749         */
    67486750        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm);
    6749         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     6751        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    67506752
    67516753        IEM_MC_BEGIN(2, 0);
     
    74157417        {
    74167418            /* greg64, XMM */
    7417             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     7419            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    74187420            IEM_MC_BEGIN(0, 1);
    74197421            IEM_MC_LOCAL(uint64_t, u64Tmp);
     
    74367438
    74377439            IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    7438             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     7440            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    74397441            IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    74407442            IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ();
     
    74657467        {
    74667468            /* greg32, XMM */
    7467             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     7469            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    74687470            IEM_MC_BEGIN(0, 1);
    74697471            IEM_MC_LOCAL(uint32_t, u32Tmp);
     
    74867488
    74877489            IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    7488             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     7490            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    74897491            IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    74907492            IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ();
     
    75177519         * XMM128, XMM64.
    75187520         */
    7519         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     7521        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    75207522        IEM_MC_BEGIN(0, 2);
    75217523        IEM_MC_LOCAL(uint64_t,                  uSrc);
     
    75407542
    75417543        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    7542         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     7544        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    75437545        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    75447546        IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE();
     
    76137615         * XMM, XMM.
    76147616         */
    7615         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     7617        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    76167618        IEM_MC_BEGIN(0, 0);
    76177619        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
     
    76327634
    76337635        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    7634         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     7636        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    76357637        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    76367638        IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ();
     
    76547656         * XMM, XMM.
    76557657         */
    7656         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     7658        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    76577659        IEM_MC_BEGIN(0, 0);
    76587660        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
     
    76737675
    76747676        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    7675         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     7677        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    76767678        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    76777679        IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ();
     
    1160911611         */
    1161011612        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm);
    11611         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     11613        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    1161211614        IEM_MC_BEGIN(4, 2);
    1161311615        IEM_MC_LOCAL(IEMMEDIAF2XMMSRC,              Src);
     
    1164811650        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm);
    1164911651        IEM_MC_ARG_CONST(uint8_t,                   bImmArg, /*=*/ bImm,    3);
    11650         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     11652        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    1165111653        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    1165211654        IEM_MC_FETCH_MEM_XMM_ALIGN_SSE(Src.uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
     
    1168011682         */
    1168111683        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm);
    11682         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     11684        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    1168311685        IEM_MC_BEGIN(4, 2);
    1168411686        IEM_MC_LOCAL(IEMMEDIAF2XMMSRC,              Src);
     
    1171911721        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm);
    1172011722        IEM_MC_ARG_CONST(uint8_t,                   bImmArg, /*=*/ bImm,    3);
    11721         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     11723        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    1172211724        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    1172311725        IEM_MC_FETCH_MEM_XMM_U32(Src.uSrc2, 0 /*a_iDword */, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
     
    1175111753         */
    1175211754        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm);
    11753         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     11755        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    1175411756        IEM_MC_BEGIN(4, 2);
    1175511757        IEM_MC_LOCAL(IEMMEDIAF2XMMSRC,              Src);
     
    1179011792        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm);
    1179111793        IEM_MC_ARG_CONST(uint8_t,                   bImmArg, /*=*/ bImm,    3);
    11792         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     11794        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    1179311795        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    1179411796        IEM_MC_FETCH_MEM_XMM_U64(Src.uSrc2, 0 /*a_iQword */, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
     
    1193411936         */
    1193511937        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm);
    11936         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     11938        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    1193711939        IEM_MC_BEGIN(3, 0);
    1193811940        IEM_MC_ARG(PRTUINT128U,          puDst,                 0);
     
    1196011962        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm);
    1196111963        IEM_MC_ARG_CONST(uint8_t, bImmArg, /*=*/ bImm,   2);
    11962         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     11964        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    1196311965        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    1196411966        IEM_MC_PREPARE_SSE_USAGE();
     
    1202012022         */
    1202112023        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm);
    12022         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     12024        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    1202312025        IEM_MC_BEGIN(3, 1);
    1202412026        IEM_MC_LOCAL(uint16_t,              u16Dst);
     
    1210712109         */
    1210812110        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm);
    12109         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     12111        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    1211012112        IEM_MC_BEGIN(3, 0);
    1211112113        IEM_MC_ARG(PRTUINT128U,          pDst, 0);
     
    1213412136        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm);
    1213512137        IEM_MC_ARG_CONST(uint8_t,               bImmArg, /*=*/ bImm, 2);
    12136         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     12138        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    1213712139        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    1213812140        IEM_MC_FETCH_MEM_U128_ALIGN_SSE(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
     
    1279012792         * Register, register.
    1279112793         */
    12792         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     12794        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    1279312795        IEM_MC_BEGIN(0, 2);
    1279412796        IEM_MC_LOCAL(uint64_t,                  uSrc);
     
    1281312815
    1281412816        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    12815         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     12817        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    1281612818        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    1281712819        IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ();
     
    1284412846         */
    1284512847        IEMOP_MNEMONIC2(RM_REG, MOVQ2DQ, movq2dq, VqZx_WO, Nq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES);
    12846         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     12848        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    1284712849        IEM_MC_BEGIN(0, 1);
    1284812850        IEM_MC_LOCAL(uint64_t,                  uSrc);
     
    1289612898         */
    1289712899        IEMOP_MNEMONIC2(RM_REG, MOVDQ2Q, movdq2q, Pq_WO, Uq, DISOPTYPE_HARMLESS, IEMOPHINT_IGNORES_OP_SIZES);
    12898         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     12900        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    1289912901        IEM_MC_BEGIN(0, 1);
    1290012902        IEM_MC_LOCAL(uint64_t,                  uSrc);
     
    1296412966        /* Note! Taking the lazy approch here wrt the high 32-bits of the GREG. */
    1296512967        IEMOP_MNEMONIC2(RM_REG, PMOVMSKB, pmovmskb, Gd, Ux, DISOPTYPE_X86_SSE | DISOPTYPE_HARMLESS, 0);
    12966         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     12968        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    1296712969        IEM_MC_BEGIN(2, 0);
    1296812970        IEM_MC_ARG(uint64_t *,              puDst, 0);
     
    1334513347
    1334613348        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    13347         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     13349        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse2);
    1334813350        IEM_MC_MAYBE_RAISE_SSE2_RELATED_XCPT();
    1334913351        IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ();
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette