Changeset 107294 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Dec 12, 2024 4:36:19 AM (2 months ago)
- svn:sync-xref-src-repo-rev:
- 166324
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllAImplC.cpp
r107143 r107294 17177 17177 { 17178 17178 if (iemSseUnaryValIsNaNR32(pr32Res, pr32Val, &fMxcsr)) 17179 return fMxcsr;17179 return 0; 17180 17180 17181 17181 RTFLOAT32U r32Src; … … 17184 17184 { 17185 17185 *pr32Res = g_ar32Infinity[r32Src.s.fSign]; 17186 return fMxcsr;17186 return 0; 17187 17187 } 17188 17188 else if (r32Src.s.fSign) 17189 17189 { 17190 17190 *pr32Res = g_ar32QNaN[1]; 17191 return fMxcsr | X86_MXCSR_IE;17191 return 0; 17192 17192 } 17193 17193 17194 17194 softfloat_state_t SoftState = IEM_SOFTFLOAT_STATE_INITIALIZER_FROM_MXCSR(fMxcsr); 17195 17195 float32_t r32Result = f32_rsqrt(iemFpSoftF32FromIprt(&r32Src), &SoftState); 17196 return iemSseSoftStateAndR32ToMxcsrAndIprtResult(&SoftState, r32Result, pr32Res, fMxcsr); 17196 (void)iemSseSoftStateAndR32ToMxcsrAndIprtResult(&SoftState, r32Result, pr32Res, fMxcsr); 17197 return 0; 17197 17198 } 17198 17199 … … 17262 17263 { 17263 17264 if (iemSseUnaryValIsNaNR32(pr32Res, pr32Val, &fMxcsr)) 17264 return fMxcsr;17265 return 0; 17265 17266 17266 17267 RTFLOAT32U r32Src; … … 17269 17270 { 17270 17271 *pr32Res = g_ar32Infinity[r32Src.s.fSign]; 17271 return fMxcsr;17272 return 0; 17272 17273 } 17273 17274 17274 17275 softfloat_state_t SoftState = IEM_SOFTFLOAT_STATE_INITIALIZER_FROM_MXCSR(fMxcsr); 17275 17276 float32_t r32Result = f32_div(iemFpSoftF32FromIprt(&g_ar32One[0]), iemFpSoftF32FromIprt(&r32Src), &SoftState); 17276 return iemSseSoftStateAndR32ToMxcsrAndIprtResult(&SoftState, r32Result, pr32Res, fMxcsr); 17277 (void)iemSseSoftStateAndR32ToMxcsrAndIprtResult(&SoftState, r32Result, pr32Res, fMxcsr); 17278 return 0; 17277 17279 } 17278 17280
Note:
See TracChangeset
for help on using the changeset viewer.