long setb_cond(int cr, int shift) { long ret; if ((cr << shift) & 0x80000000) ret = -1; else if ((cr << shift) & 0x40000000) ret = 1; else ret = 0; return ret; } long setb_uncond(int cr, int shift) { int tmp = cr << shift; long ret; ret = (tmp >> 31) | ((tmp >> 30) & 1); return ret; } long setb_uncond2(int cr, int shift) { int tmp = cr << shift; long ret; ret = (tmp >> 31); ret |= ((tmp >> 30) & 1); return ret; }