diff --git a/src/cpu/core_dyn_x86/risc_x64.h b/src/cpu/core_dyn_x86/risc_x64.h index d6baa47a..4fea48ff 100644 --- a/src/cpu/core_dyn_x86/risc_x64.h +++ b/src/cpu/core_dyn_x86/risc_x64.h @@ -439,7 +439,8 @@ static void gen_synchreg(DynReg * dnew,DynReg * dsynch) { if ((dnew->flags ^ dsynch->flags) & DYNFLG_CHANGED) { /* Ensure the changed value gets saved */ if (dnew->flags & DYNFLG_CHANGED) { - dnew->genreg->Save(); + if (GCC_LIKELY(dnew->genreg != NULL)) + dnew->genreg->Save(); } else dnew->flags|=DYNFLG_CHANGED; } } diff --git a/src/cpu/core_dyn_x86/risc_x86.h b/src/cpu/core_dyn_x86/risc_x86.h index 989cc4ba..51b2fe5a 100644 --- a/src/cpu/core_dyn_x86/risc_x86.h +++ b/src/cpu/core_dyn_x86/risc_x86.h @@ -233,7 +233,8 @@ static void gen_synchreg(DynReg * dnew,DynReg * dsynch) { if ((dnew->flags ^ dsynch->flags) & DYNFLG_CHANGED) { /* Ensure the changed value gets saved */ if (dnew->flags & DYNFLG_CHANGED) { - dnew->genreg->Save(); + if (GCC_LIKELY(dnew->genreg != NULL)) + dnew->genreg->Save(); } else dnew->flags|=DYNFLG_CHANGED; } }