Changeset 103624 in vbox
- Timestamp:
- Mar 1, 2024 12:45:18 AM (9 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllN8veRecompiler.cpp
r103623 r103624 13551 13551 IEMNATIVE_ASSERT_VAR_SIZE(pReNative, idxDstVar, sizeof(uint16_t)); 13552 13552 13553 uint8_t const idxReg = iemNativeVarRegisterAcquire(pReNative, idxDstVar, &off); 13554 13553 13555 /* Allocate a temporary FCW register. */ 13554 uint8_t const idxReg = iemNativeVarRegisterAcquire(pReNative, idxDstVar, &off, false /*fInitialized*/); 13555 uint8_t const idxFcwReg = iemNativeRegAllocTmpForGuestReg(pReNative, &off, kIemNativeGstReg_FpuFcw, kIemNativeGstRegUse_ReadOnly); 13556 /** @todo eliminate extra register */ 13557 uint8_t const idxFcwReg = iemNativeRegAllocTmpForGuestReg(pReNative, &off, kIemNativeGstReg_FpuFcw, 13558 kIemNativeGstRegUse_ReadOnly); 13556 13559 13557 13560 off = iemNativeEmitLoadGprFromGpr16(pReNative, off, idxReg, idxFcwReg); … … 13559 13562 /* Free but don't flush the FCW register. */ 13560 13563 iemNativeRegFreeTmp(pReNative, idxFcwReg); 13564 iemNativeVarRegisterRelease(pReNative, idxDstVar); 13561 13565 13562 13566 return off; … … 13574 13578 IEMNATIVE_ASSERT_VAR_SIZE(pReNative, idxDstVar, sizeof(uint16_t)); 13575 13579 13580 uint8_t const idxReg = iemNativeVarRegisterAcquire(pReNative, idxDstVar, &off, false /*fInitialized*/); 13576 13581 /* Allocate a temporary FSW register. */ 13577 uint8_t const idxReg = iemNativeVarRegisterAcquire(pReNative, idxDstVar, &off, false /*fInitialized*/); 13578 uint8_t const idxFswReg = iemNativeRegAllocTmpForGuestReg(pReNative, &off, kIemNativeGstReg_FpuFsw, kIemNativeGstRegUse_ReadOnly); 13582 /** @todo eliminate extra register */ 13583 uint8_t const idxFswReg = iemNativeRegAllocTmpForGuestReg(pReNative, &off, kIemNativeGstReg_FpuFsw, 13584 kIemNativeGstRegUse_ReadOnly); 13579 13585 13580 13586 off = iemNativeEmitLoadGprFromGpr16(pReNative, off, idxReg, idxFswReg); … … 13582 13588 /* Free but don't flush the FSW register. */ 13583 13589 iemNativeRegFreeTmp(pReNative, idxFswReg); 13590 iemNativeVarRegisterRelease(pReNative, idxDstVar); 13584 13591 13585 13592 return off;
Note:
See TracChangeset
for help on using the changeset viewer.