diff --git a/src/cpu/core_dyn_x86/decoder.h b/src/cpu/core_dyn_x86/decoder.h index 423d4022..dd71cfff 100644 --- a/src/cpu/core_dyn_x86/decoder.h +++ b/src/cpu/core_dyn_x86/decoder.h @@ -905,7 +905,7 @@ static void dyn_leave(void) { } static void dyn_segprefix(SegNames seg) { - if (GCC_UNLIKELY(decode.segprefix)) IllegalOption(); + if (GCC_UNLIKELY((Bitu)(decode.segprefix))) IllegalOption(); decode.segprefix=&DynRegs[G_ES+seg]; } diff --git a/src/cpu/core_dyn_x86/risc_x86.h b/src/cpu/core_dyn_x86/risc_x86.h index 53e8df24..f656e547 100644 --- a/src/cpu/core_dyn_x86/risc_x86.h +++ b/src/cpu/core_dyn_x86/risc_x86.h @@ -49,7 +49,7 @@ public: bool notusable; void Load(DynReg * _dynreg,bool stale=false) { if (!_dynreg) return; - if (GCC_UNLIKELY(dynreg)) Clear(); + if (GCC_UNLIKELY((Bitu)dynreg)) Clear(); dynreg=_dynreg; last_used=x86gen.last_used; dynreg->flags&=~DYNFLG_CHANGED; @@ -61,13 +61,13 @@ public: dynreg->flags|=DYNFLG_ACTIVE; } void Save(void) { - if (GCC_UNLIKELY(!dynreg)) IllegalOption(); + if (GCC_UNLIKELY(!((Bitu)dynreg))) IllegalOption(); dynreg->flags&=~DYNFLG_CHANGED; cache_addw(0x0589+(index << (8+3))); //Mov [data],reg cache_addd((Bit32u)dynreg->data); } void Release(void) { - if (GCC_UNLIKELY(!dynreg)) return; + if (GCC_UNLIKELY(!((Bitu)dynreg))) return; if (dynreg->flags&DYNFLG_CHANGED && dynreg->flags&DYNFLG_SAVE) { Save(); }