Changeset 94220 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Mar 14, 2022 12:55:45 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllAImplC.cpp
r94195 r94220 2341 2341 { \ 2342 2342 cShift &= a_cBitsWidth >= 32 ? a_cBitsWidth - 1 : 31; \ 2343 if (a_cBitsWidth < 32 && a_fIntelFlags) \ 2344 cShift %= a_cBitsWidth + 1; \ 2343 2345 if (cShift) \ 2344 2346 { \ 2345 if (a_cBitsWidth < 32 ) \2347 if (a_cBitsWidth < 32 && !a_fIntelFlags) \ 2346 2348 cShift %= a_cBitsWidth + 1; \ 2347 2349 a_uType const uDst = *puDst; \ … … 2365 2367 fEfl |= ((uResult >> (a_cBitsWidth - 1)) ^ fOutCarry) << X86_EFL_OF_BIT; \ 2366 2368 else /* Intel 10980XE: According to the first sub-shift: */ \ 2367 fEfl |= X86_EFL_GET_OF_ ## a_cBitsWidth(uDst ^ (uDst << 1) 2369 fEfl |= X86_EFL_GET_OF_ ## a_cBitsWidth(uDst ^ (uDst << 1)); \ 2368 2370 *pfEFlags = fEfl; \ 2369 2371 } \ … … 2402 2404 { \ 2403 2405 cShift &= a_cBitsWidth >= 32 ? a_cBitsWidth - 1 : 31; \ 2406 if (a_cBitsWidth < 32 && a_fIntelFlags) \ 2407 cShift %= a_cBitsWidth + 1; \ 2404 2408 if (cShift) \ 2405 2409 { \ 2406 if (a_cBitsWidth < 32 ) \2410 if (a_cBitsWidth < 32 && !a_fIntelFlags) \ 2407 2411 cShift %= a_cBitsWidth + 1; \ 2408 2412 a_uType const uDst = *puDst; \
Note:
See TracChangeset
for help on using the changeset viewer.