Revision d36cd60e target-i386/ops_template.h

b/target-i386/ops_template.h
229 229
    return cf | pf | af | zf | sf | of;
230 230
}
231 231

  
232
#if DATA_BITS == 32
233
static int glue(compute_c_mul, SUFFIX)(void)
234
{
235
    int cf;
236
    cf = (CC_SRC != 0);
237
    return cf;
238
}
239
#endif
240

  
241
/* NOTE: we compute the flags like the P4. On olders CPUs, only OF and
242
   CF are modified and it is slower to do that. */
243
static int glue(compute_all_mul, SUFFIX)(void)
244
{
245
    int cf, pf, af, zf, sf, of;
246
    cf = (CC_SRC != 0);
247
    pf = parity_table[(uint8_t)CC_DST];
248
    af = 0; /* undefined */
249
    zf = ((DATA_TYPE)CC_DST == 0) << 6;
250
    sf = lshift(CC_DST, 8 - DATA_BITS) & 0x80;
251
    of = cf << 11;
252
    return cf | pf | af | zf | sf | of;
253
}
254

  
232 255
/* various optimized jumps cases */
233 256

  
234 257
void OPPROTO glue(op_jb_sub, SUFFIX)(void)

Also available in: Unified diff