VirtualBox

Changeset 93762 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Feb 15, 2022 9:06:27 PM (3 years ago)
Author:
vboxsync
Message:

VMM/IEM: Working on adding missing C version of IEMAllAImpl.asm functions. [fixes] bugref:9898

File:
1 edited

Legend:

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

    r93758 r93762  
    7474 * @param   a_OfMethod      0 for ADD-style, 1 for SUB-style.
    7575 */
    76 #define IEM_EFL_UPDATE_STATUS_BITS_FOR_ARITHMETIC(a_pfEFlags, a_uResult, a_uDst, a_Src, a_cBitsWidth, a_CfExpr, a_OfMethod) \
     76#define IEM_EFL_UPDATE_STATUS_BITS_FOR_ARITHMETIC(a_pfEFlags, a_uResult, a_uDst, a_uSrc, a_cBitsWidth, a_CfExpr, a_OfMethod) \
    7777    do { \
    7878        uint32_t fEflTmp = *(a_pfEFlags); \
     
    8080        fEflTmp |= (a_CfExpr) << X86_EFL_CF_BIT; \
    8181        fEflTmp |= g_afParity[(a_uResult) & 0xff]; \
    82         fEflTmp |= ((uint32_t)uResult ^ (uint32_t)uSrc ^ (uint32_t)uDst) & X86_EFL_AF; \
     82        fEflTmp |= ((uint32_t)(a_uResult) ^ (uint32_t)(a_uSrc) ^ (uint32_t)(a_uDst)) & X86_EFL_AF; \
    8383        fEflTmp |= X86_EFL_CALC_ZF(a_uResult); \
    8484        fEflTmp |= X86_EFL_CALC_SF(a_uResult, a_cBitsWidth); \
    85         fEflTmp |= (   ((uDst ^ uSrc ^ (a_OfMethod == 0 ? RT_BIT_64(a_cBitsWidth - 1) : 0)) & (uResult ^ uDst))  \
     85        fEflTmp |= (   (((a_uDst) ^ (a_uSrc) ^ (a_OfMethod == 0 ? RT_BIT_64(a_cBitsWidth - 1) : 0)) & ((a_uResult) ^ (a_uDst)))  \
    8686                    >> (64 - X86_EFL_OF_BIT)) & X86_EFL_OF; \
    8787        *(a_pfEFlags) = fEflTmp; \
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