Revision 839bca84 target-i386/translate.c
b/target-i386/translate.c | ||
---|---|---|
3481 | 3481 |
break; |
3482 | 3482 |
} |
3483 | 3483 |
if (b == 0x2e || b == 0x2f) { |
3484 |
/* just to keep the EFLAGS optimization correct */ |
|
3485 |
gen_op_com_dummy(); |
|
3486 | 3484 |
s->cc_op = CC_OP_EFLAGS; |
3487 | 3485 |
} |
3488 | 3486 |
} |
... | ... | |
5263 | 5261 |
gen_op_set_cc_op(s->cc_op); |
5264 | 5262 |
tcg_gen_helper_0_1(helper_fmov_FT0_STN, tcg_const_i32(opreg)); |
5265 | 5263 |
tcg_gen_helper_0_0(helper_fucomi_ST0_FT0); |
5266 |
gen_op_fcomi_dummy(); |
|
5267 | 5264 |
s->cc_op = CC_OP_EFLAGS; |
5268 | 5265 |
break; |
5269 | 5266 |
case 0x1e: /* fcomi */ |
... | ... | |
5271 | 5268 |
gen_op_set_cc_op(s->cc_op); |
5272 | 5269 |
tcg_gen_helper_0_1(helper_fmov_FT0_STN, tcg_const_i32(opreg)); |
5273 | 5270 |
tcg_gen_helper_0_0(helper_fcomi_ST0_FT0); |
5274 |
gen_op_fcomi_dummy(); |
|
5275 | 5271 |
s->cc_op = CC_OP_EFLAGS; |
5276 | 5272 |
break; |
5277 | 5273 |
case 0x28: /* ffree sti */ |
... | ... | |
5329 | 5325 |
tcg_gen_helper_0_1(helper_fmov_FT0_STN, tcg_const_i32(opreg)); |
5330 | 5326 |
tcg_gen_helper_0_0(helper_fucomi_ST0_FT0); |
5331 | 5327 |
tcg_gen_helper_0_0(helper_fpop); |
5332 |
gen_op_fcomi_dummy(); |
|
5333 | 5328 |
s->cc_op = CC_OP_EFLAGS; |
5334 | 5329 |
break; |
5335 | 5330 |
case 0x3e: /* fcomip */ |
... | ... | |
5338 | 5333 |
tcg_gen_helper_0_1(helper_fmov_FT0_STN, tcg_const_i32(opreg)); |
5339 | 5334 |
tcg_gen_helper_0_0(helper_fcomi_ST0_FT0); |
5340 | 5335 |
tcg_gen_helper_0_0(helper_fpop); |
5341 |
gen_op_fcomi_dummy(); |
|
5342 | 5336 |
s->cc_op = CC_OP_EFLAGS; |
5343 | 5337 |
break; |
5344 | 5338 |
case 0x10 ... 0x13: /* fcmovxx */ |
Also available in: Unified diff