VirtualBox

Changeset 96725 in vbox for trunk


Ignore:
Timestamp:
Sep 14, 2022 7:50:19 AM (2 years ago)
Author:
vboxsync
Message:

VMM/IEM: Implement cvttsd2si instruction, bugref:9898 [fixes to the emulation, executed the wrong testcase, doh]

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAllAImplC.cpp

    r96723 r96725  
    1601016010
    1601116011    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. */
    1601316013
    1601416014    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);
    1601716017}
    1601816018
     
    1602316023
    1602416024    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. */
    1602616026
    1602716027    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.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette