VirtualBox

Changeset 101949 in vbox for trunk


Ignore:
Timestamp:
Nov 8, 2023 12:10:31 AM (16 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
160046
Message:

VMM/IEM: Eliminated IEM_MC_ASSIGN use from IEMAllInstOneByte.cpp.h, replacing it with IEM_MC_ARG_CONST and moved IEM_MC_ARG* and IEM_MC_LOCAL* from the top of the MC-blocks being modified to where they are actually first needed, reducing the life time and troubles for the recompiler. bugref:10371

Location:
trunk/src/VBox/VMM/VMMAll
Files:
3 edited

Legend:

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

    r101850 r101949  
    29442944                /* memory operand */
    29452945                IEM_MC_BEGIN(3, 2, IEM_MC_F_MIN_186, 0);
    2946                 IEM_MC_ARG(uint16_t *,      pu16Dst,            0);
    2947                 IEM_MC_ARG(uint16_t,        u16Src,             1);
    2948                 IEM_MC_ARG(uint32_t *,      pEFlags,            2);
     2946                IEM_MC_LOCAL(RTGCPTR,  GCPtrEffDst);
     2947                IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 2);
     2948
     2949                uint16_t u16Imm; IEM_OPCODE_GET_NEXT_U16(&u16Imm);
     2950                IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     2951
    29492952                IEM_MC_LOCAL(uint16_t,      u16Tmp);
    2950                 IEM_MC_LOCAL(RTGCPTR,  GCPtrEffDst);
    2951 
    2952                 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 2);
    2953                 uint16_t u16Imm; IEM_OPCODE_GET_NEXT_U16(&u16Imm);
    2954                 IEM_MC_ASSIGN(u16Src, u16Imm);
    2955                 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
    29562953                IEM_MC_FETCH_MEM_U16(u16Tmp, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
    2957                 IEM_MC_REF_LOCAL(pu16Dst, u16Tmp);
     2954
     2955                IEM_MC_ARG_LOCAL_REF(uint16_t *,    pu16Dst,    u16Tmp, 0);
     2956                IEM_MC_ARG_CONST(uint16_t,          u16Src,     u16Imm, 1);
     2957                IEM_MC_ARG(uint32_t *,              pEFlags,            2);
    29582958                IEM_MC_REF_EFLAGS(pEFlags);
    29592959                IEM_MC_CALL_VOID_AIMPL_3(pfnAImplU16, pu16Dst, u16Src, pEFlags);
     
    29932993                /* memory operand */
    29942994                IEM_MC_BEGIN(3, 2, IEM_MC_F_MIN_386, 0);
    2995                 IEM_MC_ARG(uint32_t *,      pu32Dst,            0);
    2996                 IEM_MC_ARG(uint32_t,        u32Src,             1);
    2997                 IEM_MC_ARG(uint32_t *,      pEFlags,            2);
     2995                IEM_MC_LOCAL(RTGCPTR,  GCPtrEffDst);
     2996                IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4);
     2997
     2998                uint32_t u32Imm; IEM_OPCODE_GET_NEXT_U32(&u32Imm);
     2999                IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3000
    29983001                IEM_MC_LOCAL(uint32_t,      u32Tmp);
    2999                 IEM_MC_LOCAL(RTGCPTR,  GCPtrEffDst);
    3000 
    3001                 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4);
    3002                 uint32_t u32Imm; IEM_OPCODE_GET_NEXT_U32(&u32Imm);
    3003                 IEM_MC_ASSIGN(u32Src, u32Imm);
    3004                 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
    30053002                IEM_MC_FETCH_MEM_U32(u32Tmp, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
    3006                 IEM_MC_REF_LOCAL(pu32Dst, u32Tmp);
     3003
     3004                IEM_MC_ARG_LOCAL_REF(uint32_t *,    pu32Dst,    u32Tmp, 0);
     3005                IEM_MC_ARG_CONST(uint32_t,          u32Src,     u32Imm, 1);
     3006                IEM_MC_ARG(uint32_t *,              pEFlags,            2);
    30073007                IEM_MC_REF_EFLAGS(pEFlags);
    30083008                IEM_MC_CALL_VOID_AIMPL_3(pfnAImplU32, pu32Dst, u32Src, pEFlags);
     
    31463146                /* memory operand */
    31473147                IEM_MC_BEGIN(3, 2, IEM_MC_F_MIN_186, 0);
    3148                 IEM_MC_ARG(uint16_t *,      pu16Dst,                    0);
    3149                 IEM_MC_ARG(uint16_t,        u16Src,                     1);
    3150                 IEM_MC_ARG(uint32_t *,      pEFlags,                    2);
     3148
     3149                IEM_MC_LOCAL(RTGCPTR,  GCPtrEffDst);
     3150                IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1);
     3151
     3152                uint16_t u16Imm; IEM_OPCODE_GET_NEXT_S8_SX_U16(&u16Imm);
     3153                IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3154
    31513155                IEM_MC_LOCAL(uint16_t,      u16Tmp);
    3152                 IEM_MC_LOCAL(RTGCPTR,  GCPtrEffDst);
    3153 
    3154                 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1);
    3155                 uint16_t u16Imm; IEM_OPCODE_GET_NEXT_S8_SX_U16(&u16Imm);
    3156                 IEM_MC_ASSIGN(u16Src, u16Imm);
    3157                 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
    31583156                IEM_MC_FETCH_MEM_U16(u16Tmp, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
    3159                 IEM_MC_REF_LOCAL(pu16Dst, u16Tmp);
     3157
     3158                IEM_MC_ARG_LOCAL_REF(uint16_t *,    pu16Dst,    u16Tmp, 0);
     3159                IEM_MC_ARG_CONST(uint16_t,          u16Src,     u16Imm, 1);
     3160                IEM_MC_ARG(uint32_t *,              pEFlags,            2);
    31603161                IEM_MC_REF_EFLAGS(pEFlags);
    31613162                IEM_MC_CALL_VOID_AIMPL_3(pfnAImplU16, pu16Dst, u16Src, pEFlags);
     
    31953196                /* memory operand */
    31963197                IEM_MC_BEGIN(3, 2, IEM_MC_F_MIN_386, 0);
    3197                 IEM_MC_ARG(uint32_t *,      pu32Dst,                    0);
    3198                 IEM_MC_ARG(uint32_t,        u32Src,                     1);
    3199                 IEM_MC_ARG(uint32_t *,      pEFlags,                    2);
     3198                IEM_MC_LOCAL(RTGCPTR,  GCPtrEffDst);
     3199                IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1);
     3200
     3201                uint32_t u32Imm; IEM_OPCODE_GET_NEXT_S8_SX_U32(&u32Imm);
     3202                IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     3203
    32003204                IEM_MC_LOCAL(uint32_t,      u32Tmp);
    3201                 IEM_MC_LOCAL(RTGCPTR,  GCPtrEffDst);
    3202 
    3203                 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1);
    3204                 uint32_t u32Imm; IEM_OPCODE_GET_NEXT_S8_SX_U32(&u32Imm);
    3205                 IEM_MC_ASSIGN(u32Src, u32Imm);
    3206                 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
    32073205                IEM_MC_FETCH_MEM_U32(u32Tmp, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
    3208                 IEM_MC_REF_LOCAL(pu32Dst, u32Tmp);
     3206
     3207                IEM_MC_ARG_LOCAL_REF(uint32_t *,    pu32Dst, u32Tmp,    0);
     3208                IEM_MC_ARG_CONST(uint32_t,          u32Src,  u32Imm,    1);
     3209                IEM_MC_ARG(uint32_t *,              pEFlags,            2);
    32093210                IEM_MC_REF_EFLAGS(pEFlags);
    32103211                IEM_MC_CALL_VOID_AIMPL_3(pfnAImplU32, pu32Dst, u32Src, pEFlags);
     
    41674168                { \
    41684169                    IEM_MC_BEGIN(3, 3, 0, 0); \
     4170                    IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
     4171                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 2); \
     4172                    \
     4173                    uint16_t u16Imm; IEM_OPCODE_GET_NEXT_U16(&u16Imm); \
     4174                    IEMOP_HLP_DONE_DECODING(); \
     4175                    \
     4176                    IEM_MC_LOCAL(uint8_t,       bUnmapInfo); \
    41694177                    IEM_MC_ARG(uint16_t *,      pu16Dst,                0); \
    4170                     IEM_MC_ARG(uint16_t,        u16Src,                 1); \
     4178                    IEM_MC_MEM_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
     4179                    \
     4180                    IEM_MC_ARG_CONST(uint16_t,  u16Src,  u16Imm,        1); \
    41714181                    IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,        2); \
    4172                     IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
    4173                     IEM_MC_LOCAL(uint8_t, bUnmapInfo); \
    4174                     \
    4175                     IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 2); \
    4176                     uint16_t u16Imm; IEM_OPCODE_GET_NEXT_U16(&u16Imm); \
    4177                     IEM_MC_ASSIGN(u16Src, u16Imm); \
    4178                     IEMOP_HLP_DONE_DECODING(); \
    4179                     IEM_MC_MEM_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
    41804182                    IEM_MC_FETCH_EFLAGS(EFlags); \
    41814183                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU16, pu16Dst, u16Src, pEFlags); \
     
    41914193                { \
    41924194                    IEM_MC_BEGIN(3, 3, IEM_MC_F_MIN_386, 0); \
     4195                    IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
     4196                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4); \
     4197                    \
     4198                    uint32_t u32Imm; IEM_OPCODE_GET_NEXT_U32(&u32Imm); \
     4199                    IEMOP_HLP_DONE_DECODING(); \
     4200                    \
     4201                    IEM_MC_LOCAL(uint8_t,       bUnmapInfo); \
    41934202                    IEM_MC_ARG(uint32_t *,      pu32Dst,                0); \
    4194                     IEM_MC_ARG(uint32_t,        u32Src,                 1); \
    4195                     IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,        2); \
    4196                     IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
    4197                     IEM_MC_LOCAL(uint8_t, bUnmapInfo); \
     4203                    IEM_MC_MEM_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
    41984204                    \
    4199                     IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4); \
    4200                     uint32_t u32Imm; IEM_OPCODE_GET_NEXT_U32(&u32Imm); \
    4201                     IEM_MC_ASSIGN(u32Src, u32Imm); \
    4202                     IEMOP_HLP_DONE_DECODING(); \
    4203                     IEM_MC_MEM_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
     4205                    IEM_MC_ARG_CONST(uint32_t,  u32Src,     u32Imm,     1); \
     4206                    IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags,    EFlags,     2); \
    42044207                    IEM_MC_FETCH_EFLAGS(EFlags); \
    42054208                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU32, pu32Dst, u32Src, pEFlags); \
     
    42154218                { \
    42164219                    IEM_MC_BEGIN(3, 3, IEM_MC_F_64BIT, 0); \
    4217                     IEM_MC_ARG(uint64_t *,      pu64Dst,                0); \
    4218                     IEM_MC_ARG(uint64_t,        u64Src,                 1); \
    4219                     IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,        2); \
     4220                    \
    42204221                    IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
    4221                     IEM_MC_LOCAL(uint8_t, bUnmapInfo); \
     4222                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4); \
    42224223                    \
    4223                     IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4); \
    42244224                    uint64_t u64Imm; IEM_OPCODE_GET_NEXT_S32_SX_U64(&u64Imm); \
    42254225                    IEMOP_HLP_DONE_DECODING(); \
    4226                     IEM_MC_ASSIGN(u64Src, u64Imm); \
     4226                    \
     4227                    IEM_MC_LOCAL(uint8_t,       bUnmapInfo); \
     4228                    IEM_MC_ARG(uint64_t *,      pu64Dst,                0); \
    42274229                    IEM_MC_MEM_MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
     4230                    \
     4231                    IEM_MC_ARG_CONST(uint64_t,  u64Src,  u64Imm,        1); \
     4232                    IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,        2); \
    42284233                    IEM_MC_FETCH_EFLAGS(EFlags); \
    42294234                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU64, pu64Dst, u64Src, pEFlags); \
     
    42494254                { \
    42504255                    IEM_MC_BEGIN(3, 3, 0, 0); \
     4256                    IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
     4257                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 2); \
     4258                    \
     4259                    uint16_t u16Imm; IEM_OPCODE_GET_NEXT_U16(&u16Imm); \
     4260                    IEMOP_HLP_DONE_DECODING(); \
     4261                    \
     4262                    IEM_MC_LOCAL(uint8_t,       bUnmapInfo); \
    42514263                    IEM_MC_ARG(uint16_t *,      pu16Dst,                0); \
    4252                     IEM_MC_ARG(uint16_t,        u16Src,                 1); \
     4264                    IEM_MC_MEM_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
     4265                    \
     4266                    IEM_MC_ARG_CONST(uint16_t,  u16Src,  u16Imm,        1); \
    42534267                    IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,        2); \
    4254                     IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
    4255                     IEM_MC_LOCAL(uint8_t, bUnmapInfo); \
    4256                     \
    4257                     IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 2); \
    4258                     uint16_t u16Imm; IEM_OPCODE_GET_NEXT_U16(&u16Imm); \
    4259                     IEM_MC_ASSIGN(u16Src, u16Imm); \
    4260                     IEMOP_HLP_DONE_DECODING(); \
    4261                     IEM_MC_MEM_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
    42624268                    IEM_MC_FETCH_EFLAGS(EFlags); \
    42634269                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU16, pu16Dst, u16Src, pEFlags); \
     
    42734279                { \
    42744280                    IEM_MC_BEGIN(3, 3, IEM_MC_F_MIN_386, 0); \
     4281                    IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
     4282                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4); \
     4283                    \
     4284                    uint32_t u32Imm; IEM_OPCODE_GET_NEXT_U32(&u32Imm); \
     4285                    IEMOP_HLP_DONE_DECODING(); \
     4286                    \
     4287                    IEM_MC_LOCAL(uint8_t,       bUnmapInfo); \
    42754288                    IEM_MC_ARG(uint32_t *,      pu32Dst,                0); \
    4276                     IEM_MC_ARG(uint32_t,        u32Src,                 1); \
     4289                    IEM_MC_MEM_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
     4290                    \
     4291                    IEM_MC_ARG_CONST(uint32_t,  u32Src,  u32Imm,        1); \
    42774292                    IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,        2); \
    4278                     IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
    4279                     IEM_MC_LOCAL(uint8_t, bUnmapInfo); \
    4280                     \
    4281                     IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4); \
    4282                     uint32_t u32Imm; IEM_OPCODE_GET_NEXT_U32(&u32Imm); \
    4283                     IEM_MC_ASSIGN(u32Src, u32Imm); \
    4284                     IEMOP_HLP_DONE_DECODING(); \
    4285                     IEM_MC_MEM_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
    42864293                    IEM_MC_FETCH_EFLAGS(EFlags); \
    42874294                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU32, pu32Dst, u32Src, pEFlags); \
     
    42974304                { \
    42984305                    IEM_MC_BEGIN(3, 3, IEM_MC_F_64BIT, 0); \
    4299                     IEM_MC_ARG(uint64_t *,      pu64Dst,                0); \
    4300                     IEM_MC_ARG(uint64_t,        u64Src,                 1); \
    4301                     IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,        2); \
    43024306                    IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
    4303                     IEM_MC_LOCAL(uint8_t, bUnmapInfo); \
     4307                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4); \
    43044308                    \
    4305                     IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4); \
    43064309                    uint64_t u64Imm; IEM_OPCODE_GET_NEXT_S32_SX_U64(&u64Imm); \
    43074310                    IEMOP_HLP_DONE_DECODING(); \
    4308                     IEM_MC_ASSIGN(u64Src, u64Imm); \
     4311                    \
     4312                    IEM_MC_LOCAL(uint8_t,       bUnmapInfo); \
     4313                    IEM_MC_ARG(uint64_t *,      pu64Dst,                0); \
    43094314                    IEM_MC_MEM_MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
     4315                    \
     4316                    IEM_MC_ARG_CONST(uint64_t,  u64Src,  u64Imm,        1); \
     4317                    IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,        2); \
    43104318                    IEM_MC_FETCH_EFLAGS(EFlags); \
    43114319                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU64, pu64Dst, u64Src, pEFlags); \
     
    43984406                { \
    43994407                    IEM_MC_BEGIN(3, 3, 0, 0); \
     4408                    IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
     4409                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 2); \
     4410                    \
     4411                    uint16_t u16Imm; IEM_OPCODE_GET_NEXT_U16(&u16Imm); \
     4412                    IEMOP_HLP_DONE_DECODING(); \
     4413                    \
     4414                    IEM_MC_LOCAL(uint8_t, bUnmapInfo); \
    44004415                    IEM_MC_ARG(uint16_t const *, pu16Dst,               0); \
    4401                     IEM_MC_ARG(uint16_t,         u16Src,                1); \
     4416                    IEM_MC_MEM_MAP_U16_RO(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
     4417                    \
     4418                    IEM_MC_ARG_CONST(uint16_t,   u16Src,  u16Imm,       1); \
    44024419                    IEM_MC_ARG_LOCAL_EFLAGS(     pEFlags, EFlags,       2); \
    4403                     IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
    4404                     IEM_MC_LOCAL(uint8_t, bUnmapInfo); \
    4405                     \
    4406                     IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 2); \
    4407                     uint16_t u16Imm; IEM_OPCODE_GET_NEXT_U16(&u16Imm); \
    4408                     IEM_MC_ASSIGN(u16Src, u16Imm); \
    4409                     IEMOP_HLP_DONE_DECODING(); \
    4410                     IEM_MC_MEM_MAP_U16_RO(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
    44114420                    IEM_MC_FETCH_EFLAGS(EFlags); \
    44124421                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU16, pu16Dst, u16Src, pEFlags); \
     
    44224431                { \
    44234432                    IEM_MC_BEGIN(3, 3, IEM_MC_F_MIN_386, 0); \
     4433                    IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
     4434                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4); \
     4435                    \
     4436                    uint32_t u32Imm; IEM_OPCODE_GET_NEXT_U32(&u32Imm); \
     4437                    IEMOP_HLP_DONE_DECODING(); \
     4438                    \
     4439                    IEM_MC_LOCAL(uint8_t,        bUnmapInfo); \
    44244440                    IEM_MC_ARG(uint32_t const *, pu32Dst,               0); \
    4425                     IEM_MC_ARG(uint32_t,         u32Src,                1); \
     4441                    IEM_MC_MEM_MAP_U32_RO(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
     4442                    \
     4443                    IEM_MC_ARG_CONST(uint32_t,   u32Src,  u32Imm,       1); \
    44264444                    IEM_MC_ARG_LOCAL_EFLAGS(     pEFlags, EFlags,       2); \
    4427                     IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
    4428                     IEM_MC_LOCAL(uint8_t, bUnmapInfo); \
    4429                     \
    4430                     IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4); \
    4431                     uint32_t u32Imm; IEM_OPCODE_GET_NEXT_U32(&u32Imm); \
    4432                     IEM_MC_ASSIGN(u32Src, u32Imm); \
    4433                     IEMOP_HLP_DONE_DECODING(); \
    4434                     IEM_MC_MEM_MAP_U32_RO(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
    44354445                    IEM_MC_FETCH_EFLAGS(EFlags); \
    44364446                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU32, pu32Dst, u32Src, pEFlags); \
     
    44464456                { \
    44474457                    IEM_MC_BEGIN(3, 3, IEM_MC_F_64BIT, 0); \
    4448                     IEM_MC_ARG(uint64_t const *, pu64Dst,               0); \
    4449                     IEM_MC_ARG(uint64_t,         u64Src,                1); \
    4450                     IEM_MC_ARG_LOCAL_EFLAGS(     pEFlags, EFlags,       2); \
    44514458                    IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
    4452                     IEM_MC_LOCAL(uint8_t, bUnmapInfo); \
     4459                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4); \
    44534460                    \
    4454                     IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4); \
    44554461                    uint64_t u64Imm; IEM_OPCODE_GET_NEXT_S32_SX_U64(&u64Imm); \
    44564462                    IEMOP_HLP_DONE_DECODING(); \
    4457                     IEM_MC_ASSIGN(u64Src, u64Imm); \
     4463                    \
     4464                    IEM_MC_LOCAL(uint8_t,        bUnmapInfo); \
     4465                    IEM_MC_ARG(uint64_t const *, pu64Dst,               0); \
    44584466                    IEM_MC_MEM_MAP_U64_RO(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
     4467                    \
     4468                    IEM_MC_ARG_CONST(uint64_t,   u64Src,  u64Imm,       1); \
     4469                    IEM_MC_ARG_LOCAL_EFLAGS(     pEFlags, EFlags,       2); \
    44594470                    IEM_MC_FETCH_EFLAGS(EFlags); \
    44604471                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU64, pu64Dst, u64Src, pEFlags); \
     
    46804691                case IEMMODE_16BIT: \
    46814692                    IEM_MC_BEGIN(3, 3, 0, 0); \
    4682                     IEM_MC_ARG(uint16_t *,      pu16Dst,                    0); \
    4683                     IEM_MC_ARG(uint16_t,        u16Src,                     1); \
    4684                     IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,            2); \
    46854693                    IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
    4686                     IEM_MC_LOCAL(uint8_t, bUnmapInfo); \
     4694                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
    46874695                    \
    4688                     IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
    46894696                    uint8_t u8Imm; IEM_OPCODE_GET_NEXT_U8(&u8Imm); \
    4690                     IEM_MC_ASSIGN(u16Src, (int8_t)u8Imm); \
    46914697                    IEMOP_HLP_DONE_DECODING(); \
     4698                    \
     4699                    IEM_MC_LOCAL(uint8_t,       bUnmapInfo); \
     4700                    IEM_MC_ARG(uint16_t *,      pu16Dst,                            0); \
    46924701                    IEM_MC_MEM_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
     4702                    \
     4703                    IEM_MC_ARG_CONST(uint16_t,  u16Src,  (int16_t)(int8_t)u8Imm,    1); \
     4704                    IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,                    2); \
    46934705                    IEM_MC_FETCH_EFLAGS(EFlags); \
    46944706                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU16, pu16Dst, u16Src, pEFlags); \
     
    47024714                case IEMMODE_32BIT: \
    47034715                    IEM_MC_BEGIN(3, 3, IEM_MC_F_MIN_386, 0); \
    4704                     IEM_MC_ARG(uint32_t *,      pu32Dst,                    0); \
    4705                     IEM_MC_ARG(uint32_t,        u32Src,                     1); \
    4706                     IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,            2); \
    47074716                    IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
    4708                     IEM_MC_LOCAL(uint8_t, bUnmapInfo); \
     4717                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
    47094718                    \
    4710                     IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
    47114719                    uint8_t u8Imm; IEM_OPCODE_GET_NEXT_U8(&u8Imm); \
    4712                     IEM_MC_ASSIGN(u32Src, (int8_t)u8Imm); \
    47134720                    IEMOP_HLP_DONE_DECODING(); \
     4721                    \
     4722                    IEM_MC_LOCAL(uint8_t,       bUnmapInfo); \
     4723                    IEM_MC_ARG(uint32_t *,      pu32Dst,                            0); \
    47144724                    IEM_MC_MEM_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
     4725                    \
     4726                    IEM_MC_ARG_CONST(uint32_t,  u32Src,  (int32_t)(int8_t)u8Imm,    1); \
     4727                    IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,                    2); \
    47154728                    IEM_MC_FETCH_EFLAGS(EFlags); \
    47164729                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU32, pu32Dst, u32Src, pEFlags); \
     
    47244737                case IEMMODE_64BIT: \
    47254738                    IEM_MC_BEGIN(3, 3, IEM_MC_F_64BIT, 0); \
    4726                     IEM_MC_ARG(uint64_t *,      pu64Dst,                    0); \
    4727                     IEM_MC_ARG(uint64_t,        u64Src,                     1); \
    4728                     IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,            2); \
    47294739                    IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
    4730                     IEM_MC_LOCAL(uint8_t, bUnmapInfo); \
     4740                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
    47314741                    \
    4732                     IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
    47334742                    uint8_t u8Imm; IEM_OPCODE_GET_NEXT_U8(&u8Imm); \
    4734                     IEM_MC_ASSIGN(u64Src, (int8_t)u8Imm); \
    47354743                    IEMOP_HLP_DONE_DECODING(); \
     4744                    \
     4745                    IEM_MC_LOCAL(uint8_t,       bUnmapInfo); \
     4746                    IEM_MC_ARG(uint64_t *,      pu64Dst,                            0); \
    47364747                    IEM_MC_MEM_MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
     4748                    \
     4749                    IEM_MC_ARG_CONST(uint64_t,  u64Src,  (int64_t)(int8_t)u8Imm,    1); \
     4750                    IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,                    2); \
    47374751                    IEM_MC_FETCH_EFLAGS(EFlags); \
    47384752                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU64, pu64Dst, u64Src, pEFlags); \
     
    47564770                case IEMMODE_16BIT: \
    47574771                    IEM_MC_BEGIN(3, 3, 0, 0); \
    4758                     IEM_MC_ARG(uint16_t *,      pu16Dst,                    0); \
    4759                     IEM_MC_ARG(uint16_t,        u16Src,                     1); \
    4760                     IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,            2); \
    47614772                    IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
    4762                     IEM_MC_LOCAL(uint8_t, bUnmapInfo); \
     4773                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
    47634774                    \
    4764                     IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
    47654775                    uint8_t u8Imm; IEM_OPCODE_GET_NEXT_U8(&u8Imm); \
    4766                     IEM_MC_ASSIGN(u16Src, (int8_t)u8Imm); \
    47674776                    IEMOP_HLP_DONE_DECODING(); \
     4777                    \
     4778                    IEM_MC_LOCAL(uint8_t,       bUnmapInfo); \
     4779                    IEM_MC_ARG(uint16_t *,      pu16Dst,                            0); \
    47684780                    IEM_MC_MEM_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
     4781                    \
     4782                    IEM_MC_ARG_CONST(uint16_t,  u16Src,  (int16_t)(int8_t)u8Imm,    1); \
     4783                    IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,                    2); \
    47694784                    IEM_MC_FETCH_EFLAGS(EFlags); \
    47704785                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU16, pu16Dst, u16Src, pEFlags); \
     
    47784793                case IEMMODE_32BIT: \
    47794794                    IEM_MC_BEGIN(3, 3, IEM_MC_F_MIN_386, 0); \
     4795                    IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
     4796                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
     4797                    \
     4798                    uint8_t u8Imm; IEM_OPCODE_GET_NEXT_U8(&u8Imm); \
     4799                    IEMOP_HLP_DONE_DECODING(); \
     4800                    \
     4801                    IEM_MC_LOCAL(uint8_t,       bUnmapInfo); \
    47804802                    IEM_MC_ARG(uint32_t *,      pu32Dst,                    0); \
    4781                     IEM_MC_ARG(uint32_t,        u32Src,                     1); \
    4782                     IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,            2); \
    4783                     IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
    4784                     IEM_MC_LOCAL(uint8_t, bUnmapInfo); \
     4803                    IEM_MC_MEM_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
    47854804                    \
    4786                     IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
    4787                     uint8_t u8Imm; IEM_OPCODE_GET_NEXT_U8(&u8Imm); \
    4788                     IEM_MC_ASSIGN(u32Src, (int8_t)u8Imm); \
    4789                     IEMOP_HLP_DONE_DECODING(); \
    4790                     IEM_MC_MEM_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
     4805                    IEM_MC_ARG_CONST(uint32_t,  u32Src,  (int32_t)(int8_t)u8Imm,    1); \
     4806                    IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,                    2); \
    47914807                    IEM_MC_FETCH_EFLAGS(EFlags); \
    47924808                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU32, pu32Dst, u32Src, pEFlags); \
     
    48004816                case IEMMODE_64BIT: \
    48014817                    IEM_MC_BEGIN(3, 3, IEM_MC_F_64BIT, 0); \
    4802                     IEM_MC_ARG(uint64_t *,      pu64Dst,                    0); \
    4803                     IEM_MC_ARG(uint64_t,        u64Src,                     1); \
    4804                     IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,            2); \
    48054818                    IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
    4806                     IEM_MC_LOCAL(uint8_t, bUnmapInfo); \
     4819                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
    48074820                    \
    4808                     IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
    48094821                    uint8_t u8Imm; IEM_OPCODE_GET_NEXT_U8(&u8Imm); \
    4810                     IEM_MC_ASSIGN(u64Src, (int8_t)u8Imm); \
    48114822                    IEMOP_HLP_DONE_DECODING(); \
     4823                    \
     4824                    IEM_MC_LOCAL(uint8_t,       bUnmapInfo); \
     4825                    IEM_MC_ARG(uint64_t *,      pu64Dst,                            0); \
    48124826                    IEM_MC_MEM_MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
     4827                    \
     4828                    IEM_MC_ARG_CONST(uint64_t,  u64Src, (int64_t)(int8_t)u8Imm,     1); \
     4829                    IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,                    2); \
    48134830                    IEM_MC_FETCH_EFLAGS(EFlags); \
    48144831                    IEM_MC_CALL_VOID_AIMPL_3(a_fnLockedU64, pu64Dst, u64Src, pEFlags); \
     
    48954912                case IEMMODE_16BIT: \
    48964913                    IEM_MC_BEGIN(3, 3, 0, 0); \
    4897                     IEM_MC_ARG(uint16_t const *, pu16Dst,                   0); \
    4898                     IEM_MC_ARG(uint16_t,         u16Src,                    1); \
    4899                     IEM_MC_ARG_LOCAL_EFLAGS(     pEFlags, EFlags,           2); \
    49004914                    IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
    4901                     IEM_MC_LOCAL(uint8_t, bUnmapInfo); \
     4915                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
    49024916                    \
    4903                     IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
    49044917                    uint8_t u8Imm; IEM_OPCODE_GET_NEXT_U8(&u8Imm); \
    4905                     IEM_MC_ASSIGN(u16Src, (int8_t)u8Imm); \
    49064918                    IEMOP_HLP_DONE_DECODING(); \
     4919                    \
     4920                    IEM_MC_LOCAL(uint8_t,        bUnmapInfo); \
     4921                    IEM_MC_ARG(uint16_t const *, pu16Dst,                           0); \
    49074922                    IEM_MC_MEM_MAP_U16_RO(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
     4923                    \
     4924                    IEM_MC_ARG_CONST(uint16_t,   u16Src, (int16_t)(int8_t)u8Imm,    1); \
     4925                    IEM_MC_ARG_LOCAL_EFLAGS(     pEFlags, EFlags,                   2); \
    49084926                    IEM_MC_FETCH_EFLAGS(EFlags); \
    49094927                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU16, pu16Dst, u16Src, pEFlags); \
     
    49174935                case IEMMODE_32BIT: \
    49184936                    IEM_MC_BEGIN(3, 3, IEM_MC_F_MIN_386, 0); \
    4919                     IEM_MC_ARG(uint32_t const *, pu32Dst,                   0); \
    4920                     IEM_MC_ARG(uint32_t,         u32Src,                    1); \
    4921                     IEM_MC_ARG_LOCAL_EFLAGS(     pEFlags, EFlags,           2); \
    49224937                    IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
    4923                     IEM_MC_LOCAL(uint8_t, bUnmapInfo); \
     4938                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
    49244939                    \
    4925                     IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
    49264940                    uint8_t u8Imm; IEM_OPCODE_GET_NEXT_U8(&u8Imm); \
    4927                     IEM_MC_ASSIGN(u32Src, (int8_t)u8Imm); \
    49284941                    IEMOP_HLP_DONE_DECODING(); \
     4942                    \
     4943                    IEM_MC_LOCAL(uint8_t,        bUnmapInfo); \
     4944                    IEM_MC_ARG(uint32_t const *, pu32Dst,                           0); \
    49294945                    IEM_MC_MEM_MAP_U32_RO(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
     4946                    \
     4947                    IEM_MC_ARG_CONST(uint32_t,   u32Src, (int32_t)(int8_t)u8Imm,    1); \
     4948                    IEM_MC_ARG_LOCAL_EFLAGS(     pEFlags, EFlags,                   2); \
    49304949                    IEM_MC_FETCH_EFLAGS(EFlags); \
    49314950                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU32, pu32Dst, u32Src, pEFlags); \
     
    49394958                case IEMMODE_64BIT: \
    49404959                    IEM_MC_BEGIN(3, 3, IEM_MC_F_64BIT, 0); \
    4941                     IEM_MC_ARG(uint64_t const *, pu64Dst,                   0); \
    4942                     IEM_MC_ARG(uint64_t,         u64Src,                    1); \
    4943                     IEM_MC_ARG_LOCAL_EFLAGS(     pEFlags, EFlags,           2); \
    49444960                    IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst); \
    4945                     IEM_MC_LOCAL(uint8_t, bUnmapInfo); \
     4961                    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
    49464962                    \
    4947                     IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1); \
    49484963                    uint8_t u8Imm; IEM_OPCODE_GET_NEXT_U8(&u8Imm); \
    4949                     IEM_MC_ASSIGN(u64Src, (int8_t)u8Imm); \
    49504964                    IEMOP_HLP_DONE_DECODING(); \
     4965                    \
     4966                    IEM_MC_LOCAL(uint8_t,        bUnmapInfo); \
     4967                    IEM_MC_ARG(uint64_t const *, pu64Dst,                       0); \
    49514968                    IEM_MC_MEM_MAP_U64_RO(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst); \
     4969                    \
     4970                    IEM_MC_ARG_CONST(uint64_t,  u64Src, (int64_t)(int8_t)u8Imm, 1); \
     4971                    IEM_MC_ARG_LOCAL_EFLAGS(     pEFlags, EFlags,               2); \
    49524972                    IEM_MC_FETCH_EFLAGS(EFlags); \
    49534973                    IEM_MC_CALL_VOID_AIMPL_3(a_fnNormalU64, pu64Dst, u64Src, pEFlags); \
     
    58805900        case IEMMODE_16BIT:
    58815901            IEM_MC_BEGIN(2, 0, 0, 0);
    5882             IEM_MC_ARG(uint8_t, iEffSeg,     0);
    5883             IEM_MC_ARG(RTGCPTR, GCPtrEffDst, 1);
     5902            IEM_MC_ARG(RTGCPTR,         GCPtrEffDst,                        1);
    58845903            IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 2 << 8);
    58855904            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
    5886             IEM_MC_ASSIGN(iEffSeg, pVCpu->iem.s.iEffSeg);
     5905            IEM_MC_ARG_CONST(uint8_t,   iEffSeg,    pVCpu->iem.s.iEffSeg,   0);
    58875906            IEM_MC_CALL_CIMPL_2(0, iemCImpl_pop_mem16, iEffSeg, GCPtrEffDst);
    58885907            IEM_MC_END();
     
    58915910        case IEMMODE_32BIT:
    58925911            IEM_MC_BEGIN(2, 0, IEM_MC_F_MIN_386, 0);
    5893             IEM_MC_ARG(uint8_t, iEffSeg,     0);
    5894             IEM_MC_ARG(RTGCPTR, GCPtrEffDst, 1);
     5912            IEM_MC_ARG(RTGCPTR,         GCPtrEffDst,                        1);
    58955913            IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4 << 8);
    58965914            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
    5897             IEM_MC_ASSIGN(iEffSeg, pVCpu->iem.s.iEffSeg);
     5915            IEM_MC_ARG_CONST(uint8_t,   iEffSeg,    pVCpu->iem.s.iEffSeg,   0);
    58985916            IEM_MC_CALL_CIMPL_2(0, iemCImpl_pop_mem32, iEffSeg, GCPtrEffDst);
    58995917            IEM_MC_END();
     
    59025920        case IEMMODE_64BIT:
    59035921            IEM_MC_BEGIN(2, 0, IEM_MC_F_64BIT, 0);
    5904             IEM_MC_ARG(uint8_t, iEffSeg,     0);
    5905             IEM_MC_ARG(RTGCPTR, GCPtrEffDst, 1);
     5922            IEM_MC_ARG(RTGCPTR,         GCPtrEffDst,                        1);
    59065923            IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 8 << 8);
    59075924            IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
    5908             IEM_MC_ASSIGN(iEffSeg, pVCpu->iem.s.iEffSeg);
     5925            IEM_MC_ARG_CONST(uint8_t,   iEffSeg,    pVCpu->iem.s.iEffSeg,   0);
    59095926            IEM_MC_CALL_CIMPL_2(0, iemCImpl_pop_mem64, iEffSeg, GCPtrEffDst);
    59105927            IEM_MC_END();
     
    76617678        /* memory */
    76627679        IEM_MC_BEGIN(3, 3, IEM_MC_F_MIN_186, 0);
     7680        IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst);
     7681        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1);
     7682
     7683        uint8_t cShift; IEM_OPCODE_GET_NEXT_U8(&cShift);
     7684        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     7685
     7686        IEM_MC_LOCAL(uint8_t,   bUnmapInfo);
    76637687        IEM_MC_ARG(uint8_t *,   pu8Dst,    0);
    7664         IEM_MC_ARG(uint8_t,     cShiftArg,  1);
    7665         IEM_MC_ARG_LOCAL_EFLAGS(pEFlags, EFlags, 2);
    7666         IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst);
    7667         IEM_MC_LOCAL(uint8_t, bUnmapInfo);
    7668 
    7669         IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1);
    7670         uint8_t cShift; IEM_OPCODE_GET_NEXT_U8(&cShift);
    7671         IEM_MC_ASSIGN(cShiftArg, cShift);
    7672         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
    76737688        IEM_MC_MEM_MAP_U8_RW(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
     7689
     7690        IEM_MC_ARG_CONST(uint8_t,   cShiftArg, cShift, 1);
     7691        IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags,   EFlags, 2);
    76747692        IEM_MC_FETCH_EFLAGS(EFlags);
    76757693        IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU8, pu8Dst, cShiftArg, pEFlags);
     
    77617779            case IEMMODE_16BIT:
    77627780                IEM_MC_BEGIN(3, 3, 0, 0);
    7763                 IEM_MC_ARG(uint16_t *,  pu16Dst,    0);
    7764                 IEM_MC_ARG(uint8_t,     cShiftArg,  1);
    7765                 IEM_MC_ARG_LOCAL_EFLAGS(pEFlags, EFlags, 2);
    77667781                IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst);
    7767                 IEM_MC_LOCAL(uint8_t, bUnmapInfo);
    7768 
    77697782                IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1);
     7783
    77707784                uint8_t cShift; IEM_OPCODE_GET_NEXT_U8(&cShift);
    7771                 IEM_MC_ASSIGN(cShiftArg, cShift);
    77727785                IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     7786
     7787                IEM_MC_LOCAL(uint8_t,       bUnmapInfo);
     7788                IEM_MC_ARG(uint16_t *,      pu16Dst,            0);
    77737789                IEM_MC_MEM_MAP_U16_RW(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
     7790
     7791                IEM_MC_ARG_CONST(uint8_t,   cShiftArg,  cShift, 1);
     7792                IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags,    EFlags, 2);
    77747793                IEM_MC_FETCH_EFLAGS(EFlags);
    77757794                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU16, pu16Dst, cShiftArg, pEFlags);
     
    77837802            case IEMMODE_32BIT:
    77847803                IEM_MC_BEGIN(3, 3, IEM_MC_F_MIN_386, 0);
    7785                 IEM_MC_ARG(uint32_t *,  pu32Dst,    0);
    7786                 IEM_MC_ARG(uint8_t,     cShiftArg,  1);
    7787                 IEM_MC_ARG_LOCAL_EFLAGS(pEFlags, EFlags, 2);
    77887804                IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst);
    7789                 IEM_MC_LOCAL(uint8_t, bUnmapInfo);
    7790 
    77917805                IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1);
     7806
    77927807                uint8_t cShift; IEM_OPCODE_GET_NEXT_U8(&cShift);
    7793                 IEM_MC_ASSIGN(cShiftArg, cShift);
    77947808                IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     7809
     7810                IEM_MC_LOCAL(uint8_t,       bUnmapInfo);
     7811                IEM_MC_ARG(uint32_t *,      pu32Dst,            0);
    77957812                IEM_MC_MEM_MAP_U32_RW(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
     7813
     7814                IEM_MC_ARG_CONST(uint8_t,   cShiftArg,  cShift, 1);
     7815                IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags,    EFlags, 2);
    77967816                IEM_MC_FETCH_EFLAGS(EFlags);
    77977817                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU32, pu32Dst, cShiftArg, pEFlags);
     
    78057825            case IEMMODE_64BIT:
    78067826                IEM_MC_BEGIN(3, 3, IEM_MC_F_64BIT, 0);
    7807                 IEM_MC_ARG(uint64_t *,  pu64Dst,    0);
    7808                 IEM_MC_ARG(uint8_t,     cShiftArg,  1);
    7809                 IEM_MC_ARG_LOCAL_EFLAGS(pEFlags, EFlags, 2);
    78107827                IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst);
    7811                 IEM_MC_LOCAL(uint8_t, bUnmapInfo);
    7812 
    78137828                IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1);
     7829
    78147830                uint8_t cShift; IEM_OPCODE_GET_NEXT_U8(&cShift);
    7815                 IEM_MC_ASSIGN(cShiftArg, cShift);
    78167831                IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     7832
     7833                IEM_MC_LOCAL(uint8_t,       bUnmapInfo);
     7834                IEM_MC_ARG(uint64_t *,      pu64Dst,            0);
    78177835                IEM_MC_MEM_MAP_U64_RW(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
     7836
     7837                IEM_MC_ARG_CONST(uint8_t,   cShiftArg,  cShift, 1);
     7838                IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags,    EFlags, 2);
    78187839                IEM_MC_FETCH_EFLAGS(EFlags);
    78197840                IEM_MC_CALL_VOID_AIMPL_3(pImpl->pfnNormalU64, pu64Dst, cShiftArg, pEFlags);
     
    91849205    IEMOP_MNEMONIC(fldenv, "fldenv m14/28byte");
    91859206    IEM_MC_BEGIN(3, 0, 0, 0);
    9186     IEM_MC_ARG_CONST(IEMMODE,           enmEffOpSize, /*=*/ pVCpu->iem.s.enmEffOpSize,  0);
    9187     IEM_MC_ARG(uint8_t,                 iEffSeg,                                    1);
    9188     IEM_MC_ARG(RTGCPTR,                 GCPtrEffSrc,                                2);
     9207    IEM_MC_ARG(RTGCPTR,                 GCPtrEffSrc,                                    2);
    91899208    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
     9209
    91909210    IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
    91919211    IEM_MC_MAYBE_RAISE_DEVICE_NOT_AVAILABLE();
    91929212    IEM_MC_ACTUALIZE_FPU_STATE_FOR_CHANGE();
    9193     IEM_MC_ASSIGN(iEffSeg, pVCpu->iem.s.iEffSeg);
     9213
     9214    IEM_MC_ARG_CONST(IEMMODE,           enmEffOpSize, /*=*/ pVCpu->iem.s.enmEffOpSize,  0);
     9215    IEM_MC_ARG_CONST(uint8_t,           iEffSeg,      /*=*/ pVCpu->iem.s.iEffSeg,       1);
    91949216    IEM_MC_CALL_CIMPL_3(IEM_CIMPL_F_FPU, iemCImpl_fldenv, enmEffOpSize, iEffSeg, GCPtrEffSrc);
    91959217    IEM_MC_END();
     
    92039225    IEM_MC_BEGIN(1, 1, 0, 0);
    92049226    IEM_MC_LOCAL(RTGCPTR,               GCPtrEffSrc);
    9205     IEM_MC_ARG(uint16_t,                u16Fsw,                                     0);
    92069227    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
     9228
    92079229    IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
    92089230    IEM_MC_MAYBE_RAISE_DEVICE_NOT_AVAILABLE();
    92099231    IEM_MC_ACTUALIZE_FPU_STATE_FOR_CHANGE();
     9232
     9233    IEM_MC_ARG(uint16_t,                u16Fsw,                                         0);
    92109234    IEM_MC_FETCH_MEM_U16(u16Fsw, pVCpu->iem.s.iEffSeg, GCPtrEffSrc);
     9235
    92119236    IEM_MC_CALL_CIMPL_1(IEM_CIMPL_F_FPU, iemCImpl_fldcw, u16Fsw);
    92129237    IEM_MC_END();
     
    92199244    IEMOP_MNEMONIC(fstenv, "fstenv m14/m28byte");
    92209245    IEM_MC_BEGIN(3, 0, 0, 0);
    9221     IEM_MC_ARG_CONST(IEMMODE,           enmEffOpSize, /*=*/ pVCpu->iem.s.enmEffOpSize,  0);
    9222     IEM_MC_ARG(uint8_t,                 iEffSeg,                                    1);
    9223     IEM_MC_ARG(RTGCPTR,                 GCPtrEffDst,                                2);
     9246    IEM_MC_ARG(RTGCPTR,                 GCPtrEffDst,                                    2);
    92249247    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0);
     9248
    92259249    IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
    92269250    IEM_MC_MAYBE_RAISE_DEVICE_NOT_AVAILABLE();
    92279251    IEM_MC_ACTUALIZE_FPU_STATE_FOR_READ();
    9228     IEM_MC_ASSIGN(iEffSeg, pVCpu->iem.s.iEffSeg);
     9252
     9253    IEM_MC_ARG_CONST(IEMMODE,           enmEffOpSize, /*=*/ pVCpu->iem.s.enmEffOpSize,  0);
     9254    IEM_MC_ARG_CONST(uint8_t,           iEffSeg,      /*=*/ pVCpu->iem.s.iEffSeg,       1);
    92299255    IEM_MC_CALL_CIMPL_3(IEM_CIMPL_F_FPU, iemCImpl_fnstenv, enmEffOpSize, iEffSeg, GCPtrEffDst);
    92309256    IEM_MC_END();
     
    1106011086    IEMOP_MNEMONIC(frstor, "frstor m94/108byte");
    1106111087    IEM_MC_BEGIN(3, 0, 0, 0);
    11062     IEM_MC_ARG_CONST(IEMMODE,           enmEffOpSize, /*=*/ pVCpu->iem.s.enmEffOpSize,  0);
    11063     IEM_MC_ARG(uint8_t,                 iEffSeg,                                    1);
    11064     IEM_MC_ARG(RTGCPTR,                 GCPtrEffSrc,                                2);
     11088    IEM_MC_ARG(RTGCPTR,                 GCPtrEffSrc,                                    2);
    1106511089    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffSrc, bRm, 0);
     11090
    1106611091    IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
    1106711092    IEM_MC_MAYBE_RAISE_DEVICE_NOT_AVAILABLE();
    1106811093    IEM_MC_ACTUALIZE_FPU_STATE_FOR_CHANGE();
    11069     IEM_MC_ASSIGN(iEffSeg, pVCpu->iem.s.iEffSeg);
     11094
     11095    IEM_MC_ARG_CONST(IEMMODE,           enmEffOpSize, /*=*/ pVCpu->iem.s.enmEffOpSize,  0);
     11096    IEM_MC_ARG_CONST(uint8_t,           iEffSeg,      /*=*/ pVCpu->iem.s.iEffSeg,       1);
    1107011097    IEM_MC_CALL_CIMPL_3(IEM_CIMPL_F_FPU, iemCImpl_frstor, enmEffOpSize, iEffSeg, GCPtrEffSrc);
    1107111098    IEM_MC_END();
     
    1107811105    IEMOP_MNEMONIC(fnsave, "fnsave m94/108byte");
    1107911106    IEM_MC_BEGIN(3, 0, 0, 0);
    11080     IEM_MC_ARG_CONST(IEMMODE,           enmEffOpSize, /*=*/ pVCpu->iem.s.enmEffOpSize,  0);
    11081     IEM_MC_ARG(uint8_t,                 iEffSeg,                                    1);
    11082     IEM_MC_ARG(RTGCPTR,                 GCPtrEffDst,                                2);
     11107    IEM_MC_ARG(RTGCPTR,                 GCPtrEffDst,                                    2);
    1108311108    IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 0);
     11109
    1108411110    IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
    1108511111    IEM_MC_MAYBE_RAISE_DEVICE_NOT_AVAILABLE();
    1108611112    IEM_MC_ACTUALIZE_FPU_STATE_FOR_CHANGE(); /* Note! Implicit fninit after the save, do not use FOR_READ here! */
    11087     IEM_MC_ASSIGN(iEffSeg, pVCpu->iem.s.iEffSeg);
     11113
     11114    IEM_MC_ARG_CONST(IEMMODE,           enmEffOpSize, /*=*/ pVCpu->iem.s.enmEffOpSize,  0);
     11115    IEM_MC_ARG_CONST(uint8_t,           iEffSeg,      /*=*/ pVCpu->iem.s.iEffSeg,       1);
    1108811116    IEM_MC_CALL_CIMPL_3(IEM_CIMPL_F_FPU, iemCImpl_fnsave, enmEffOpSize, iEffSeg, GCPtrEffDst);
    1108911117    IEM_MC_END();
     
    1264512673        /* memory access. */
    1264612674        IEM_MC_BEGIN(3, 3, 0, 0);
     12675        IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst);
     12676        IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1);
     12677
     12678        uint8_t u8Imm; IEM_OPCODE_GET_NEXT_U8(&u8Imm);
     12679        IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     12680
     12681        IEM_MC_LOCAL(uint8_t,       bUnmapInfo);
    1264712682        IEM_MC_ARG(uint8_t const *, pu8Dst,             0);
    12648         IEM_MC_ARG(uint8_t,         u8Src,              1);
     12683        IEM_MC_MEM_MAP_U8_RO(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
     12684
     12685        IEM_MC_ARG_CONST(uint8_t,   u8Src,   u8Imm,     1);
    1264912686        IEM_MC_ARG_LOCAL_EFLAGS(    pEFlags, EFlags,    2);
    12650         IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst);
    12651         IEM_MC_LOCAL(uint8_t, bUnmapInfo);
    12652 
    12653         IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 1);
    12654         uint8_t u8Imm; IEM_OPCODE_GET_NEXT_U8(&u8Imm);
    12655         IEM_MC_ASSIGN(u8Src, u8Imm);
    12656         IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
    12657         IEM_MC_MEM_MAP_U8_RO(pu8Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
    1265812687        IEM_MC_FETCH_EFLAGS(EFlags);
    1265912688        IEM_MC_CALL_VOID_AIMPL_3(iemAImpl_test_u8, pu8Dst, u8Src, pEFlags);
     
    1301013039            case IEMMODE_16BIT:
    1301113040                IEM_MC_BEGIN(3, 3, 0, 0);
     13041                IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst);
     13042                IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 2);
     13043
     13044                uint16_t u16Imm; IEM_OPCODE_GET_NEXT_U16(&u16Imm);
     13045                IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     13046
     13047                IEM_MC_LOCAL(uint8_t,        bUnmapInfo);
    1301213048                IEM_MC_ARG(uint16_t const *, pu16Dst,           0);
    13013                 IEM_MC_ARG(uint16_t,         u16Src,            1);
     13049                IEM_MC_MEM_MAP_U16_RO(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
     13050
     13051                IEM_MC_ARG_CONST(uint16_t,   u16Src,  u16Imm,   1);
    1301413052                IEM_MC_ARG_LOCAL_EFLAGS(     pEFlags, EFlags,   2);
    13015                 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst);
    13016                 IEM_MC_LOCAL(uint8_t, bUnmapInfo);
    13017 
    13018                 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 2);
    13019                 uint16_t u16Imm; IEM_OPCODE_GET_NEXT_U16(&u16Imm);
    13020                 IEM_MC_ASSIGN(u16Src, u16Imm);
    13021                 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
    13022                 IEM_MC_MEM_MAP_U16_RO(pu16Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
    1302313053                IEM_MC_FETCH_EFLAGS(EFlags);
    1302413054                IEM_MC_CALL_VOID_AIMPL_3(iemAImpl_test_u16, pu16Dst, u16Src, pEFlags);
     
    1303213062            case IEMMODE_32BIT:
    1303313063                IEM_MC_BEGIN(3, 3, IEM_MC_F_MIN_386, 0);
     13064                IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst);
     13065                IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4);
     13066
     13067                uint32_t u32Imm; IEM_OPCODE_GET_NEXT_U32(&u32Imm);
     13068                IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     13069
     13070                IEM_MC_LOCAL(uint8_t,        bUnmapInfo);
    1303413071                IEM_MC_ARG(uint32_t const *, pu32Dst,           0);
    13035                 IEM_MC_ARG(uint32_t,         u32Src,            1);
     13072                IEM_MC_MEM_MAP_U32_RO(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
     13073
     13074                IEM_MC_ARG_CONST(uint32_t,   u32Src,  u32Imm,   1);
    1303613075                IEM_MC_ARG_LOCAL_EFLAGS(     pEFlags, EFlags,   2);
    13037                 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst);
    13038                 IEM_MC_LOCAL(uint8_t, bUnmapInfo);
    13039 
    13040                 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4);
    13041                 uint32_t u32Imm; IEM_OPCODE_GET_NEXT_U32(&u32Imm);
    13042                 IEM_MC_ASSIGN(u32Src, u32Imm);
    13043                 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
    13044                 IEM_MC_MEM_MAP_U32_RO(pu32Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
    1304513076                IEM_MC_FETCH_EFLAGS(EFlags);
    1304613077                IEM_MC_CALL_VOID_AIMPL_3(iemAImpl_test_u32, pu32Dst, u32Src, pEFlags);
     
    1305413085            case IEMMODE_64BIT:
    1305513086                IEM_MC_BEGIN(3, 3, IEM_MC_F_64BIT, 0);
     13087                IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst);
     13088                IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4);
     13089
     13090                uint64_t u64Imm; IEM_OPCODE_GET_NEXT_S32_SX_U64(&u64Imm);
     13091                IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
     13092
    1305613093                IEM_MC_ARG(uint64_t const *, pu64Dst,           0);
    13057                 IEM_MC_ARG(uint64_t,         u64Src,            1);
     13094                IEM_MC_LOCAL(uint8_t, bUnmapInfo);
     13095                IEM_MC_MEM_MAP_U64_RO(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
     13096
     13097                IEM_MC_ARG_CONST(uint64_t,   u64Src,  u64Imm,   1);
    1305813098                IEM_MC_ARG_LOCAL_EFLAGS(     pEFlags, EFlags,   2);
    13059                 IEM_MC_LOCAL(RTGCPTR, GCPtrEffDst);
    13060                 IEM_MC_LOCAL(uint8_t, bUnmapInfo);
    13061 
    13062                 IEM_MC_CALC_RM_EFF_ADDR(GCPtrEffDst, bRm, 4);
    13063                 uint64_t u64Imm; IEM_OPCODE_GET_NEXT_S32_SX_U64(&u64Imm);
    13064                 IEM_MC_ASSIGN(u64Src, u64Imm);
    13065                 IEMOP_HLP_DONE_DECODING_NO_LOCK_PREFIX();
    13066                 IEM_MC_MEM_MAP_U64_RO(pu64Dst, bUnmapInfo, pVCpu->iem.s.iEffSeg, GCPtrEffDst);
    1306713099                IEM_MC_FETCH_EFLAGS(EFlags);
    1306813100                IEM_MC_CALL_VOID_AIMPL_3(iemAImpl_test_u64, pu64Dst, u64Src, pEFlags);
  • trunk/src/VBox/VMM/VMMAll/IEMAllN8veRecompiler.cpp

    r101913 r101949  
    54795479    /** @todo Make the python script check that arguments aren't used after
    54805480     *        IEM_MC_CALL_XXXX. */
     5481    /** @todo There is a special with IEM_MC_MEM_MAP_U16_RW and friends requiring
     5482     *        a IEM_MC_MEM_COMMIT_AND_UNMAP_RW after a AIMPL call typically with
     5483     *        an argument value. */
    54815484    for (uint32_t i = cHiddenArgs; i < cArgs; i++)
    54825485    {
  • trunk/src/VBox/VMM/VMMAll/IEMAllThrdPython.py

    r101732 r101949  
    11261126                                  or sRef.startswith('g_')
    11271127                                  or sRef.startswith('iemAImpl_')
    1128                                   or sRef in ( 'int8_t',    'int16_t',    'int32_t',
     1128                                  or sRef in ( 'int8_t',    'int16_t',    'int32_t',    'int64_t',
    11291129                                               'INT8_C',    'INT16_C',    'INT32_C',    'INT64_C',
    11301130                                               'UINT8_C',   'UINT16_C',   'UINT32_C',   'UINT64_C',
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