VirtualBox

Changeset 99328 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Apr 7, 2023 12:04:01 AM (22 months ago)
Author:
vboxsync
Message:

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

File:
1 edited

Legend:

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

    r99327 r99328  
    357357         * XMM, XMM.
    358358         */
    359         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     359        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    360360        IEM_MC_BEGIN(2, 0);
    361361        IEM_MC_ARG(PRTUINT128U,          pDst, 0);
     
    381381
    382382        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    383         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     383        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    384384        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    385385        IEM_MC_FETCH_MEM_U128_ALIGN_SSE(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
     
    585585         * XMM, XMM.
    586586         */
    587         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     587        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    588588        IEM_MC_BEGIN(2, 0);
    589589        IEM_MC_ARG(PRTUINT128U,             puDst, 0);
     
    609609
    610610        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    611         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     611        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    612612        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    613613        /** @todo Most CPUs probably only read the low qword. We read everything to
     
    767767         * XMM, XMM.
    768768         */
    769         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     769        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    770770        IEM_MC_BEGIN(2, 0);
    771771        IEM_MC_ARG(PRTUINT128U,             puDst, 0);
     
    791791
    792792        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    793         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     793        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    794794        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    795795        /** @todo Most CPUs probably only read the high qword. We read everything to
     
    827827         * XMM128, XMM128.
    828828         */
    829         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     829        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    830830        IEM_MC_BEGIN(3, 1);
    831831        IEM_MC_LOCAL(IEMSSERESULT,          SseRes);
     
    858858
    859859        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    860         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     860        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    861861        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    862862        IEM_MC_FETCH_MEM_XMM_ALIGN_SSE(uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
     
    891891         * XMM128, XMM32.
    892892         */
    893         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     893        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    894894        IEM_MC_BEGIN(3, 1);
    895895        IEM_MC_LOCAL(IEMSSERESULT,          SseRes);
     
    922922
    923923        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    924         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     924        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    925925        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    926926        IEM_MC_FETCH_MEM_R32(r32Src2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
     
    20992099         * XMM128, XMM128.
    21002100         */
    2101         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2101        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    21022102        IEM_MC_BEGIN(0, 0);
    21032103        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
     
    21182118
    21192119        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    2120         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2120        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    21212121        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    21222122        IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE();
     
    22002200         * XMM32, XMM32.
    22012201         */
    2202         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2202        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    22032203        IEM_MC_BEGIN(0, 1);
    22042204        IEM_MC_LOCAL(uint32_t,                  uSrc);
     
    22222222
    22232223        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    2224         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2224        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    22252225        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    22262226        IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE();
     
    23062306         * XMM128, XMM128.
    23072307         */
    2308         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2308        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    23092309        IEM_MC_BEGIN(0, 0);
    23102310        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
     
    23252325
    23262326        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    2327         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2327        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    23282328        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    23292329        IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ();
     
    24062406         * XMM32, XMM32.
    24072407         */
    2408         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2408        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    24092409        IEM_MC_BEGIN(0, 1);
    24102410        IEM_MC_LOCAL(uint32_t,                  uSrc);
     
    24282428
    24292429        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    2430         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2430        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    24312431        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    24322432        IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ();
     
    25112511        IEMOP_MNEMONIC2(RM_REG, MOVHLPS, movhlps, Vq_WO, UqHi, DISOPTYPE_HARMLESS | DISOPTYPE_X86_SSE, IEMOPHINT_IGNORES_OP_SIZES);
    25122512
    2513         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2513        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    25142514        IEM_MC_BEGIN(0, 1);
    25152515        IEM_MC_LOCAL(uint64_t,                  uSrc);
     
    25442544
    25452545        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    2546         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2546        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    25472547        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    25482548        IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE();
     
    27432743
    27442744        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    2745         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2745        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    27462746        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    27472747        IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ();
     
    29302930        IEMOP_MNEMONIC2(RM_REG, MOVLHPS, movlhps, VqHi_WO, Uq, DISOPTYPE_HARMLESS | DISOPTYPE_X86_SSE, IEMOPHINT_IGNORES_OP_SIZES);
    29312931
    2932         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2932        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    29332933        IEM_MC_BEGIN(0, 1);
    29342934        IEM_MC_LOCAL(uint64_t,                  uSrc);
     
    29632963
    29642964        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    2965         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2965        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    29662966        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    29672967        IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE();
     
    31163116
    31173117        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    3118         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3118        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    31193119        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    31203120        IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ();
     
    31643164
    31653165        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    3166         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3166        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    31673167        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    31683168        IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ();
     
    34153415         * Register, register.
    34163416         */
    3417         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3417        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    34183418        IEM_MC_BEGIN(0, 0);
    34193419        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
     
    34343434
    34353435        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    3436         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3436        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    34373437        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    34383438        IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE();
     
    35163516         * Register, register.
    35173517         */
    3518         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3518        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    35193519        IEM_MC_BEGIN(0, 0);
    35203520        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
     
    35353535
    35363536        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    3537         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3537        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    35383538        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    35393539        IEM_MC_ACTUALIZE_SSE_STATE_FOR_READ();
     
    37593759            IEM_MC_ARG(const int64_t *,         pi64Src,          2);
    37603760
    3761             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3761            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    37623762            IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    37633763            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. */
     
    37883788
    37893789            IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    3790             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3790            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    37913791            IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    37923792            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. */
     
    38173817            IEM_MC_ARG(const int32_t *,       pi32Src,             2);
    38183818
    3819             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3819            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    38203820            IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    38213821            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. */
     
    38463846
    38473847            IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    3848             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3848            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    38493849            IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    38503850            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. */
     
    40154015
    40164016        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    4017         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4017        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    40184018        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    40194019        IEM_MC_ACTUALIZE_SSE_STATE_FOR_CHANGE();
     
    42284228            IEM_MC_ARG(const uint32_t *,     pu32Src,             2);
    42294229
    4230             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4230            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    42314231            IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    42324232            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. */
     
    42574257
    42584258            IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    4259             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4259            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    42604260            IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    42614261            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. */
     
    42864286            IEM_MC_ARG(const uint32_t *,     pu32Src,             2);
    42874287
    4288             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4288            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    42894289            IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    42904290            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. */
     
    43154315
    43164316            IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    4317             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4317            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    43184318            IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    43194319            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. */
     
    46184618            IEM_MC_ARG(const uint32_t *,     pu32Src,             2);
    46194619
    4620             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4620            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    46214621            IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    46224622            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. */
     
    46474647
    46484648            IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    4649             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4649            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    46504650            IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    46514651            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. */
     
    46764676            IEM_MC_ARG(const uint32_t *,     pu32Src,             2);
    46774677
    4678             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4678            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    46794679            IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    46804680            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. */
     
    47054705
    47064706            IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    4707             IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4707            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    47084708            IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    47094709            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. */
     
    48604860         * Register, register.
    48614861         */
    4862         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4862        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    48634863        IEM_MC_BEGIN(4, 1);
    48644864        IEM_MC_LOCAL(uint32_t, fEFlags);
     
    48984898
    48994899        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    4900         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     4900        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    49014901        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    49024902        IEM_MC_FETCH_MEM_XMM_U32(uSrc2, 0 /*a_DWord*/, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
     
    50025002         * Register, register.
    50035003         */
    5004         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     5004        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    50055005        IEM_MC_BEGIN(4, 1);
    50065006        IEM_MC_LOCAL(uint32_t, fEFlags);
     
    50405040
    50415041        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
    5042         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     5042        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    50435043        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    50445044        IEM_MC_FETCH_MEM_XMM_U32(uSrc2, 0 /*a_DWord*/, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
     
    54575457         * Register, register.
    54585458         */
    5459         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     5459        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    54605460        IEM_MC_BEGIN(2, 1);
    54615461        IEM_MC_LOCAL(uint8_t,           u8Dst);
     
    1154011540         */
    1154111541        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm);
    11542         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     11542        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    1154311543        IEM_MC_BEGIN(4, 2);
    1154411544        IEM_MC_LOCAL(IEMMEDIAF2XMMSRC,              Src);
     
    1157911579        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm);
    1158011580        IEM_MC_ARG_CONST(uint8_t,                   bImmArg, /*=*/ bImm,    3);
    11581         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     11581        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    1158211582        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    1158311583        IEM_MC_FETCH_MEM_XMM_ALIGN_SSE(Src.uSrc2, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
     
    1205712057         */
    1205812058        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm);
    12059         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     12059        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    1206012060        IEM_MC_BEGIN(3, 0);
    1206112061        IEM_MC_ARG(PRTUINT128U,          pDst, 0);
     
    1208412084        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm);
    1208512085        IEM_MC_ARG_CONST(uint8_t,               bImmArg, /*=*/ bImm, 2);
    12086         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     12086        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX_EX(fSse);
    1208712087        IEM_MC_MAYBE_RAISE_SSE_RELATED_XCPT();
    1208812088        IEM_MC_FETCH_MEM_U128_ALIGN_SSE(uSrc, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
Note: See TracChangeset for help on using the changeset viewer.

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