VirtualBox

Changeset 100843 in vbox


Ignore:
Timestamp:
Aug 9, 2023 8:09:44 PM (21 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
158744
Message:

VMM/IEM: More conversion from IEM_MC_MEM_MAP to IEM_MC_MEM_MAP_XXX. Correct the other 32-bit sized BT instruction to not clear high bits. bugref:10369

File:
1 edited

Legend:

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

    r100842 r100843  
    1072010720 * Body for group 8 bit instruction.
    1072110721 */
    10722 #define IEMOP_BODY_BIT_Ev_Ib(a_fnNormalU16, a_fnNormalU32, a_fnNormalU64, a_fRW) \
     10722#define IEMOP_BODY_BIT_Ev_Ib_RW(a_fnNormalU16, a_fnNormalU32, a_fnNormalU64) \
    1072310723    IEMOP_VERIFICATION_UNDEFINED_EFLAGS(X86_EFL_OF | X86_EFL_SF | X86_EFL_ZF | X86_EFL_AF | X86_EFL_PF); \
    1072410724    \
     
    1078810788            { \
    1078910789                case IEMMODE_16BIT: \
    10790                     IEM_MC_BEGIN(3, 1); \
     10790                    IEM_MC_BEGIN(3, 3); \
    1079110791                    IEM_MC_ARG(uint16_t *,              pu16Dst,                0); \
    1079210792                    IEM_MC_ARG(uint16_t,                u16Src,                 1); \
    1079310793                    IEM_MC_ARG_LOCAL_EFLAGS(            pEFlags, EFlags,        2); \
    1079410794                    IEM_MC_LOCAL(RTGCPTR,               GCPtrEffDst); \
     10795                    IEM_MC_LOCAL(uint8_t,               bUnmapInfo); \
    1079510796                    \
    1079610797                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
     
    1079910800                    IEMOP_HLP_DONE_DECODING(); \
    1080010801                    IEM_MC_FETCH_EFLAGS(EFlags); \
    10801                     IEM_MC_MEM_MAP(pu16Dst, a_fRW, pVCpu->iem.s.iEffSeg, GCPtrEffDst, 0); \
     10802                    IEM_MC_MEM_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
    1080210803                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU16, pu16Dst, u16Src, pEFlags); \
    10803                     IEM_MC_MEM_COMMIT_AND_UNMAP(pu16Dst, a_fRW); \
    1080410804                    \
     10805                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo); \
    1080510806                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    1080610807                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    1080910810                \
    1081010811                case IEMMODE_32BIT: \
    10811                     IEM_MC_BEGIN(3, 1); \
     10812                    IEM_MC_BEGIN(3, 3); \
    1081210813                    IEM_MC_ARG(uint32_t *,              pu32Dst,                0); \
    1081310814                    IEM_MC_ARG(uint32_t,                u32Src,                 1); \
    1081410815                    IEM_MC_ARG_LOCAL_EFLAGS(            pEFlags, EFlags,        2); \
    1081510816                    IEM_MC_LOCAL(RTGCPTR,               GCPtrEffDst); \
     10817                    IEM_MC_LOCAL(uint8_t,               bUnmapInfo); \
    1081610818                    \
    1081710819                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
     
    1082010822                    IEMOP_HLP_DONE_DECODING(); \
    1082110823                    IEM_MC_FETCH_EFLAGS(EFlags); \
    10822                     IEM_MC_MEM_MAP(pu32Dst, a_fRW, pVCpu->iem.s.iEffSeg, GCPtrEffDst, 0); \
     10824                    IEM_MC_MEM_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
    1082310825                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU32, pu32Dst, u32Src, pEFlags); \
    10824                     IEM_MC_MEM_COMMIT_AND_UNMAP(pu32Dst, a_fRW); \
    1082510826                    \
     10827                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo); \
    1082610828                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    1082710829                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    1083010832                \
    1083110833                case IEMMODE_64BIT: \
    10832                     IEM_MC_BEGIN(3, 1); \
     10834                    IEM_MC_BEGIN(3, 3); \
    1083310835                    IEM_MC_ARG(uint64_t *,              pu64Dst,                0); \
    1083410836                    IEM_MC_ARG(uint64_t,                u64Src,                 1); \
    1083510837                    IEM_MC_ARG_LOCAL_EFLAGS(            pEFlags, EFlags,        2); \
    1083610838                    IEM_MC_LOCAL(RTGCPTR,               GCPtrEffDst); \
     10839                    IEM_MC_LOCAL(uint8_t,               bUnmapInfo); \
    1083710840                    \
    1083810841                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
     
    1084110844                    IEMOP_HLP_DONE_DECODING(); \
    1084210845                    IEM_MC_FETCH_EFLAGS(EFlags); \
    10843                     IEM_MC_MEM_MAP(pu64Dst, a_fRW, pVCpu->iem.s.iEffSeg, GCPtrEffDst, 0); \
     10846                    IEM_MC_MEM_MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
    1084410847                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU64, pu64Dst, u64Src, pEFlags); \
    10845                     IEM_MC_MEM_COMMIT_AND_UNMAP(pu64Dst, a_fRW); \
    1084610848                    \
     10849                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo); \
    1084710850                    IEM_MC_COMMIT_EFLAGS(EFlags); \
    1084810851                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     
    1085610859        { \
    1085710860            (void)0
    10858 
    10859 #define IEMOP_BODY_BIT_Ev_Ib_NO_LOCK() \
    10860             IEMOP_HLP_DONE_DECODING(); \
    10861             IEMOP_RAISE_INVALID_LOCK_PREFIX_RET(); \
    10862         } \
    10863     } \
    10864     (void)0
    10865 
     10861/* Separate macro to work around parsing issue in IEMAllInstPython.py */
    1086610862#define IEMOP_BODY_BIT_Ev_Ib_LOCKED(a_fnLockedU16, a_fnLockedU32, a_fnLockedU64) \
    1086710863            switch (pVCpu->iem.s.enmEffOpSize) \
    1086810864            { \
    1086910865                case IEMMODE_16BIT: \
    10870                     IEM_MC_BEGIN(3, 1); \
     10866                    IEM_MC_BEGIN(3, 3); \
    1087110867                    IEM_MC_ARG(uint16_t *,              pu16Dst,                0); \
    1087210868                    IEM_MC_ARG(uint16_t,                u16Src,                 1); \
    1087310869                    IEM_MC_ARG_LOCAL_EFLAGS(            pEFlags, EFlags,        2); \
    1087410870                    IEM_MC_LOCAL(RTGCPTR,               GCPtrEffDst); \
     10871                    IEM_MC_LOCAL(uint8_t,               bUnmapInfo); \
    1087510872                    \
    1087610873                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
     
    1087910876                    IEMOP_HLP_DONE_DECODING(); \
    1088010877                    IEM_MC_FETCH_EFLAGS(EFlags); \
    10881                     IEM_MC_MEM_MAP(pu16Dst, IEM_ACCESS_DATA_RW, pVCpu->iem.s.iEffSeg, GCPtrEffDst, 0); \
     10878                    IEM_MC_MEM_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
    1088210879                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU16, pu16Dst, u16Src, pEFlags); \
    10883                     IEM_MC_MEM_COMMIT_AND_UNMAP(pu16Dst, IEM_ACCESS_DATA_RW); \
     10880                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu16Dst, bUnmapInfo); \
    1088410881                    \
    1088510882                    IEM_MC_COMMIT_EFLAGS(EFlags); \
     
    1088910886                \
    1089010887                case IEMMODE_32BIT: \
    10891                     IEM_MC_BEGIN(3, 1); \
     10888                    IEM_MC_BEGIN(3, 3); \
    1089210889                    IEM_MC_ARG(uint32_t *,              pu32Dst,                0); \
    1089310890                    IEM_MC_ARG(uint32_t,                u32Src,                 1); \
    1089410891                    IEM_MC_ARG_LOCAL_EFLAGS(            pEFlags, EFlags,        2); \
    1089510892                    IEM_MC_LOCAL(RTGCPTR,               GCPtrEffDst); \
     10893                    IEM_MC_LOCAL(uint8_t,               bUnmapInfo); \
    1089610894                    \
    1089710895                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
     
    1090010898                    IEMOP_HLP_DONE_DECODING(); \
    1090110899                    IEM_MC_FETCH_EFLAGS(EFlags); \
    10902                     IEM_MC_MEM_MAP(pu32Dst, IEM_ACCESS_DATA_RW, pVCpu->iem.s.iEffSeg, GCPtrEffDst, 0); \
     10900                    IEM_MC_MEM_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
    1090310901                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU32, pu32Dst, u32Src, pEFlags); \
    10904                     IEM_MC_MEM_COMMIT_AND_UNMAP(pu32Dst, IEM_ACCESS_DATA_RW); \
     10902                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu32Dst, bUnmapInfo); \
    1090510903                    \
    1090610904                    IEM_MC_COMMIT_EFLAGS(EFlags); \
     
    1091010908                \
    1091110909                case IEMMODE_64BIT: \
    10912                     IEM_MC_BEGIN(3, 1); \
     10910                    IEM_MC_BEGIN(3, 3); \
    1091310911                    IEM_MC_ARG(uint64_t *,              pu64Dst,                0); \
    1091410912                    IEM_MC_ARG(uint64_t,                u64Src,                 1); \
    1091510913                    IEM_MC_ARG_LOCAL_EFLAGS(            pEFlags, EFlags,        2); \
    1091610914                    IEM_MC_LOCAL(RTGCPTR,               GCPtrEffDst); \
     10915                    IEM_MC_LOCAL(uint8_t,               bUnmapInfo); \
    1091710916                    \
    1091810917                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
     
    1092110920                    IEMOP_HLP_DONE_DECODING(); \
    1092210921                    IEM_MC_FETCH_EFLAGS(EFlags); \
    10923                     IEM_MC_MEM_MAP(pu64Dst, IEM_ACCESS_DATA_RW, pVCpu->iem.s.iEffSeg, GCPtrEffDst, 0); \
     10922                    IEM_MC_MEM_MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
    1092410923                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU64, pu64Dst, u64Src, pEFlags); \
    10925                     IEM_MC_MEM_COMMIT_AND_UNMAP(pu64Dst, IEM_ACCESS_DATA_RW); \
     10924                    IEM_MC_MEM_COMMIT_AND_UNMAP_RW(pu64Dst, bUnmapInfo); \
    1092610925                    \
    1092710926                    IEM_MC_COMMIT_EFLAGS(EFlags); \
     
    1093610935    (void)0
    1093710936
     10937/* Read-only version (bt) */
     10938#define IEMOP_BODY_BIT_Ev_Ib_RO(a_fnNormalU16, a_fnNormalU32, a_fnNormalU64) \
     10939    IEMOP_VERIFICATION_UNDEFINED_EFLAGS(X86_EFL_OF | X86_EFL_SF | X86_EFL_ZF | X86_EFL_AF | X86_EFL_PF); \
     10940    \
     10941    if (IEM_IS_MODRM_REG_MODE(bRm)) \
     10942    { \
     10943        /* register destination. */ \
     10944        uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); \
     10945        \
     10946        switch (pVCpu->iem.s.enmEffOpSize) \
     10947        { \
     10948            case IEMMODE_16BIT: \
     10949                IEM_MC_BEGIN(3, 0); \
     10950                IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \
     10951                IEM_MC_ARG(uint16_t const *, pu16Dst,                   0); \
     10952                IEM_MC_ARG_CONST(uint16_t,   u16Src, /*=*/ bImm & 0x0f, 1); \
     10953                IEM_MC_ARG(uint32_t *,       pEFlags,                   2); \
     10954                \
     10955                IEM_MC_REF_GREG_U16_CONST(pu16Dst, IEM_GET_MODRM_RM(pVCpu, bRm)); \
     10956                IEM_MC_REF_EFLAGS(pEFlags); \
     10957                IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU16, pu16Dst, u16Src, pEFlags); \
     10958                \
     10959                IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     10960                IEM_MC_END(); \
     10961                break; \
     10962            \
     10963            case IEMMODE_32BIT: \
     10964                IEM_MC_BEGIN(3, 0); \
     10965                IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \
     10966                IEM_MC_ARG(uint32_t const *, pu32Dst,                   0); \
     10967                IEM_MC_ARG_CONST(uint32_t,   u32Src, /*=*/ bImm & 0x1f, 1); \
     10968                IEM_MC_ARG(uint32_t *,       pEFlags,                   2); \
     10969                \
     10970                IEM_MC_REF_GREG_U32_CONST(pu32Dst, IEM_GET_MODRM_RM(pVCpu, bRm)); \
     10971                IEM_MC_REF_EFLAGS(pEFlags); \
     10972                IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU32, pu32Dst, u32Src, pEFlags); \
     10973                \
     10974                IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     10975                IEM_MC_END(); \
     10976                break; \
     10977            \
     10978            case IEMMODE_64BIT: \
     10979                IEM_MC_BEGIN(3, 0); \
     10980                IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX(); \
     10981                IEM_MC_ARG(uint64_t const *, pu64Dst,                   0); \
     10982                IEM_MC_ARG_CONST(uint64_t,   u64Src, /*=*/ bImm & 0x3f, 1); \
     10983                IEM_MC_ARG(uint32_t *,       pEFlags,                   2); \
     10984                \
     10985                IEM_MC_REF_GREG_U64_CONST(pu64Dst, IEM_GET_MODRM_RM(pVCpu, bRm)); \
     10986                IEM_MC_REF_EFLAGS(pEFlags); \
     10987                IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU64, pu64Dst, u64Src, pEFlags); \
     10988                \
     10989                IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     10990                IEM_MC_END(); \
     10991                break; \
     10992            \
     10993            IEM_NOT_REACHED_DEFAULT_CASE_RET(); \
     10994        } \
     10995    } \
     10996    else \
     10997    { \
     10998        /* memory destination. */ \
     10999        /** @todo test negative bit offsets! */ \
     11000        if (!(pVCpu->iem.s.fPrefixes & IEM_OP_PRF_LOCK)) \
     11001        { \
     11002            switch (pVCpu->iem.s.enmEffOpSize) \
     11003            { \
     11004                case IEMMODE_16BIT: \
     11005                    IEM_MC_BEGIN(3, 3); \
     11006                    IEM_MC_ARG(uint16_t const *,        pu16Dst,                0); \
     11007                    IEM_MC_ARG(uint16_t,                u16Src,                 1); \
     11008                    IEM_MC_ARG_LOCAL_EFLAGS(            pEFlags, EFlags,        2); \
     11009                    IEM_MC_LOCAL(RTGCPTR,               GCPtrEffDst); \
     11010                    IEM_MC_LOCAL(uint8_t,               bUnmapInfo); \
     11011                    \
     11012                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
     11013                    uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); \
     11014                    IEM_MC_ASSIGN(u16Src, bImm & 0x0f); \
     11015                    IEMOP_HLP_DONE_DECODING(); \
     11016                    IEM_MC_FETCH_EFLAGS(EFlags); \
     11017                    IEM_MC_MEM_MAP_U16_RO(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
     11018                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU16, pu16Dst, u16Src, pEFlags); \
     11019                    \
     11020                    IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu16Dst, bUnmapInfo); \
     11021                    IEM_MC_COMMIT_EFLAGS(EFlags); \
     11022                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     11023                    IEM_MC_END(); \
     11024                    break; \
     11025                \
     11026                case IEMMODE_32BIT: \
     11027                    IEM_MC_BEGIN(3, 3); \
     11028                    IEM_MC_ARG(uint32_t const *,        pu32Dst,                0); \
     11029                    IEM_MC_ARG(uint32_t,                u32Src,                 1); \
     11030                    IEM_MC_ARG_LOCAL_EFLAGS(            pEFlags, EFlags,        2); \
     11031                    IEM_MC_LOCAL(RTGCPTR,               GCPtrEffDst); \
     11032                    IEM_MC_LOCAL(uint8_t,               bUnmapInfo); \
     11033                    \
     11034                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
     11035                    uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); \
     11036                    IEM_MC_ASSIGN(u32Src, bImm & 0x1f); \
     11037                    IEMOP_HLP_DONE_DECODING(); \
     11038                    IEM_MC_FETCH_EFLAGS(EFlags); \
     11039                    IEM_MC_MEM_MAP_U32_RO(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
     11040                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU32, pu32Dst, u32Src, pEFlags); \
     11041                    \
     11042                    IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu32Dst, bUnmapInfo); \
     11043                    IEM_MC_COMMIT_EFLAGS(EFlags); \
     11044                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     11045                    IEM_MC_END(); \
     11046                    break; \
     11047                \
     11048                case IEMMODE_64BIT: \
     11049                    IEM_MC_BEGIN(3, 3); \
     11050                    IEM_MC_ARG(uint64_t const *,        pu64Dst,                0); \
     11051                    IEM_MC_ARG(uint64_t,                u64Src,                 1); \
     11052                    IEM_MC_ARG_LOCAL_EFLAGS(            pEFlags, EFlags,        2); \
     11053                    IEM_MC_LOCAL(RTGCPTR,               GCPtrEffDst); \
     11054                    IEM_MC_LOCAL(uint8_t,               bUnmapInfo); \
     11055                    \
     11056                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
     11057                    uint8_t bImm; IEM_OPCODE_GET_NEXT_U8(&bImm); \
     11058                    IEM_MC_ASSIGN(u64Src, bImm & 0x3f); \
     11059                    IEMOP_HLP_DONE_DECODING(); \
     11060                    IEM_MC_FETCH_EFLAGS(EFlags); \
     11061                    IEM_MC_MEM_MAP_U64_RO(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
     11062                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU64, pu64Dst, u64Src, pEFlags); \
     11063                    \
     11064                    IEM_MC_MEM_COMMIT_AND_UNMAP_RO(pu64Dst, bUnmapInfo); \
     11065                    IEM_MC_COMMIT_EFLAGS(EFlags); \
     11066                    IEM_MC_ADVANCE_RIP_AND_FINISH(); \
     11067                    IEM_MC_END(); \
     11068                    break; \
     11069                \
     11070                IEM_NOT_REACHED_DEFAULT_CASE_RET(); \
     11071            } \
     11072        } \
     11073        else \
     11074        { \
     11075            IEMOP_HLP_DONE_DECODING(); \
     11076            IEMOP_RAISE_INVALID_LOCK_PREFIX_RET(); \
     11077        } \
     11078    } \
     11079    (void)0
     11080
    1093811081
    1093911082/** Opcode 0x0f 0xba /4. */
     
    1094111084{
    1094211085    IEMOP_MNEMONIC(bt_Ev_Ib, "bt  Ev,Ib");
    10943     IEMOP_BODY_BIT_Ev_Ib(iemAImpl_bt_u16, iemAImpl_bt_u32, iemAImpl_bt_u64, IEM_ACCESS_DATA_R);
    10944     IEMOP_BODY_BIT_Ev_Ib_NO_LOCK();
     11086    IEMOP_BODY_BIT_Ev_Ib_RO(iemAImpl_bt_u16, iemAImpl_bt_u32, iemAImpl_bt_u64);
    1094511087}
    1094611088
     
    1095011092{
    1095111093    IEMOP_MNEMONIC(bts_Ev_Ib, "bts Ev,Ib");
    10952     IEMOP_BODY_BIT_Ev_Ib(       iemAImpl_bts_u16,        iemAImpl_bts_u32,        iemAImpl_bts_u64, IEM_ACCESS_DATA_RW);
     11094    IEMOP_BODY_BIT_Ev_Ib_RW(    iemAImpl_bts_u16,        iemAImpl_bts_u32,        iemAImpl_bts_u64);
    1095311095    IEMOP_BODY_BIT_Ev_Ib_LOCKED(iemAImpl_bts_u16_locked, iemAImpl_bts_u32_locked, iemAImpl_bts_u64_locked);
    1095411096}
     
    1095911101{
    1096011102    IEMOP_MNEMONIC(btr_Ev_Ib, "btr Ev,Ib");
    10961     IEMOP_BODY_BIT_Ev_Ib(       iemAImpl_btr_u16,        iemAImpl_btr_u32,        iemAImpl_btr_u64, IEM_ACCESS_DATA_RW);
     11103    IEMOP_BODY_BIT_Ev_Ib_RW(    iemAImpl_btr_u16,        iemAImpl_btr_u32,        iemAImpl_btr_u64);
    1096211104    IEMOP_BODY_BIT_Ev_Ib_LOCKED(iemAImpl_btr_u16_locked, iemAImpl_btr_u32_locked, iemAImpl_btr_u64_locked);
    1096311105}
     
    1096811110{
    1096911111    IEMOP_MNEMONIC(btc_Ev_Ib, "btc Ev,Ib");
    10970     IEMOP_BODY_BIT_Ev_Ib(       iemAImpl_btc_u16,        iemAImpl_btc_u32,        iemAImpl_btc_u64, IEM_ACCESS_DATA_RW);
     11112    IEMOP_BODY_BIT_Ev_Ib_RW(    iemAImpl_btc_u16,        iemAImpl_btc_u32,        iemAImpl_btc_u64);
    1097111113    IEMOP_BODY_BIT_Ev_Ib_LOCKED(iemAImpl_btc_u16_locked, iemAImpl_btc_u32_locked, iemAImpl_btc_u64_locked);
    1097211114}
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