VirtualBox

Changeset 104183 in vbox for trunk/src/VBox/VMM/testcase


Ignore:
Timestamp:
Apr 5, 2024 12:55:25 PM (10 months ago)
Author:
vboxsync
Message:

VMM/IEM: Get rid of IEM_MC_IF_MXCSR_XCPT_PENDING() and IEM_MC_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT() and replace with IEM_MC_MAYBE_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT(). This makes the microcode blocks leaner and the recompiler doesn't has to do as much state keeping. Furthermore there is now exactly one way of doing SSE/AVX floating point operations when it comes to exception handling, bugref:10641

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/testcase/tstIEMCheckMc.cpp

    r104177 r104183  
    617617#define IEM_MC_MAYBE_RAISE_NON_CANONICAL_ADDR_GP0(a_u64Addr) do { (void)fMcBegin; } while (0)
    618618#define IEM_MC_MAYBE_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT() do { (void)fMcBegin; } while (0)
    619 #define IEM_MC_RAISE_SSE_AVX_SIMD_FP_OR_UD_XCPT()       do { (void)fMcBegin; } while (0)
    620619
    621620#define CHK_VAR(a_Name)                                 do { RT_CONCAT(iVarCheck_,a_Name) = 1; } while (0)
     
    11191118    if (g_fRandom != fFpuRead) {
    11201119#define IEM_MC_IF_FCW_IM()                                              (void)fMcBegin; if (g_fRandom != fFpuRead) {
    1121 #define IEM_MC_IF_MXCSR_XCPT_PENDING()                                  (void)fMcBegin; if (g_fRandom != fSseRead) {
    11221120#define IEM_MC_ELSE()                                                   } else {
    11231121#define IEM_MC_ENDIF()                                                  } do { (void)fMcBegin; } while (0)
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