- Timestamp:
- Sep 14, 2022 7:50:19 AM (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllAImplC.cpp
r96723 r96725 16010 16010 16011 16011 r64Src.u = *pu64Src; 16012 uint32_t fDe = iemSsePrepareValueR64(&r64Src, pFpuState->MXCSR, &r64Src);16012 iemSsePrepareValueR64(&r64Src, pFpuState->MXCSR, &r64Src); /* The de-normal flag is not set. */ 16013 16013 16014 16014 softfloat_state_t SoftState = IEM_SOFTFLOAT_STATE_INITIALIZER_FROM_MXCSR(pFpuState->MXCSR); 16015 *pi32Dst = f64_to_i32 (iemFpSoftF64FromIprt(&r64Src), SoftState.roundingMode, true /*exact*/, &SoftState);16016 *pfMxcsr = pFpuState->MXCSR | (SoftState.exceptionFlags & X86_MXCSR_XCPT_FLAGS) | fDe;16015 *pi32Dst = f64_to_i32_r_minMag(iemFpSoftF64FromIprt(&r64Src), true /*exact*/, &SoftState); 16016 *pfMxcsr = pFpuState->MXCSR | (SoftState.exceptionFlags & X86_MXCSR_XCPT_FLAGS); 16017 16017 } 16018 16018 … … 16023 16023 16024 16024 r64Src.u = *pu64Src; 16025 uint32_t fDe = iemSsePrepareValueR64(&r64Src, pFpuState->MXCSR, &r64Src);16025 iemSsePrepareValueR64(&r64Src, pFpuState->MXCSR, &r64Src); /* The de-normal flag is not set. */ 16026 16026 16027 16027 softfloat_state_t SoftState = IEM_SOFTFLOAT_STATE_INITIALIZER_FROM_MXCSR(pFpuState->MXCSR); 16028 *pi64Dst = f64_to_i64 (iemFpSoftF64FromIprt(&r64Src), SoftState.roundingMode, true /*exact*/, &SoftState);16029 *pfMxcsr = pFpuState->MXCSR | (SoftState.exceptionFlags & X86_MXCSR_XCPT_FLAGS) | fDe;16030 } 16031 #endif 16028 *pi64Dst = f64_to_i64_r_minMag(iemFpSoftF64FromIprt(&r64Src), true /*exact*/, &SoftState); 16029 *pfMxcsr = pFpuState->MXCSR | (SoftState.exceptionFlags & X86_MXCSR_XCPT_FLAGS); 16030 } 16031 #endif
Note:
See TracChangeset
for help on using the changeset viewer.