Changeset 93762 in vbox for trunk/src/VBox
- Timestamp:
- Feb 15, 2022 9:06:27 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllAImplC.cpp
r93758 r93762 74 74 * @param a_OfMethod 0 for ADD-style, 1 for SUB-style. 75 75 */ 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) \ 77 77 do { \ 78 78 uint32_t fEflTmp = *(a_pfEFlags); \ … … 80 80 fEflTmp |= (a_CfExpr) << X86_EFL_CF_BIT; \ 81 81 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; \ 83 83 fEflTmp |= X86_EFL_CALC_ZF(a_uResult); \ 84 84 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))) \ 86 86 >> (64 - X86_EFL_OF_BIT)) & X86_EFL_OF; \ 87 87 *(a_pfEFlags) = fEflTmp; \
Note:
See TracChangeset
for help on using the changeset viewer.