case Cop_Shl: return wL << wR;
case Cop_Shr: return wL >> wR;
case Cop_Eq: return wL == wR ? 1 : 0;
- case Cop_Ge: return wL >= wR ? 1 : 0;
- case Cop_Gt: return wL > wR ? 1 : 0;
- case Cop_Le: return wL <= wR ? 1 : 0;
- case Cop_Lt: return wL < wR ? 1 : 0;
+ case Cop_Ge: return (Word) wL >= (Word) wR ? 1 : 0;
+ case Cop_Gt: return (Word) wL > (Word) wR ? 1 : 0;
+ case Cop_Le: return (Word) wL <= (Word) wR ? 1 : 0;
+ case Cop_Lt: return (Word) wL < (Word) wR ? 1 : 0;
case Cop_Ne: return wL != wR ? 1 : 0;
default: goto unhandled;
}