Changeset 93877 in vbox for trunk/src/VBox/VMM/VMMAll
- Timestamp:
- Feb 21, 2022 8:49:18 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllAImplC.cpp
r93869 r93877 1358 1358 { 1359 1359 uint64_t uOld = ASMAtomicUoReadU64(puDst); 1360 uint64_t u TmpDst;1360 uint64_t uResult; 1361 1361 uint32_t fEflTmp; 1362 1362 do 1363 1363 { 1364 u TmpDst = uOld;1364 uResult = uOld; 1365 1365 fEflTmp = *pfEFlags; 1366 iemAImpl_add_u64(&u TmpDst, *puReg, pfEFlags);1367 } while (!ASMAtomicCmpXchgExU64(puDst, u TmpDst, uOld, &uOld));1366 iemAImpl_add_u64(&uResult, *puReg, &fEflTmp); 1367 } while (!ASMAtomicCmpXchgExU64(puDst, uResult, uOld, &uOld)); 1368 1368 *puReg = uOld; 1369 1369 *pfEFlags = fEflTmp; … … 1385 1385 { 1386 1386 uint32_t uOld = ASMAtomicUoReadU32(puDst); 1387 uint32_t u TmpDst;1387 uint32_t uResult; 1388 1388 uint32_t fEflTmp; 1389 1389 do 1390 1390 { 1391 u TmpDst = uOld;1391 uResult = uOld; 1392 1392 fEflTmp = *pfEFlags; 1393 iemAImpl_add_u32(&u TmpDst, *puReg, pfEFlags);1394 } while (!ASMAtomicCmpXchgExU32(puDst, u TmpDst, uOld, &uOld));1393 iemAImpl_add_u32(&uResult, *puReg, &fEflTmp); 1394 } while (!ASMAtomicCmpXchgExU32(puDst, uResult, uOld, &uOld)); 1395 1395 *puReg = uOld; 1396 1396 *pfEFlags = fEflTmp; … … 1411 1411 { 1412 1412 uint16_t uOld = ASMAtomicUoReadU16(puDst); 1413 uint16_t u TmpDst;1413 uint16_t uResult; 1414 1414 uint32_t fEflTmp; 1415 1415 do 1416 1416 { 1417 u TmpDst = uOld;1417 uResult = uOld; 1418 1418 fEflTmp = *pfEFlags; 1419 iemAImpl_add_u16(&u TmpDst, *puReg, pfEFlags);1420 } while (!ASMAtomicCmpXchgExU16(puDst, u TmpDst, uOld, &uOld));1419 iemAImpl_add_u16(&uResult, *puReg, &fEflTmp); 1420 } while (!ASMAtomicCmpXchgExU16(puDst, uResult, uOld, &uOld)); 1421 1421 *puReg = uOld; 1422 1422 *pfEFlags = fEflTmp; … … 1437 1437 { 1438 1438 uint8_t uOld = ASMAtomicUoReadU8(puDst); 1439 uint8_t u TmpDst;1439 uint8_t uResult; 1440 1440 uint32_t fEflTmp; 1441 1441 do 1442 1442 { 1443 u TmpDst = uOld;1443 uResult = uOld; 1444 1444 fEflTmp = *pfEFlags; 1445 iemAImpl_add_u8(&u TmpDst, *puReg, pfEFlags);1446 } while (!ASMAtomicCmpXchgExU8(puDst, u TmpDst, uOld, &uOld));1445 iemAImpl_add_u8(&uResult, *puReg, &fEflTmp); 1446 } while (!ASMAtomicCmpXchgExU8(puDst, uResult, uOld, &uOld)); 1447 1447 *puReg = uOld; 1448 1448 *pfEFlags = fEflTmp;
Note:
See TracChangeset
for help on using the changeset viewer.