Revision fd5185ec target-i386/translate.c
b/target-i386/translate.c | ||
---|---|---|
408 | 408 |
gen_op_addl_A0_im(val); |
409 | 409 |
} |
410 | 410 |
|
411 |
static inline void gen_op_addl_T0_T1(void) |
|
412 |
{ |
|
413 |
tcg_gen_add_tl(cpu_T[0], cpu_T[0], cpu_T[1]); |
|
414 |
} |
|
415 |
|
|
416 | 411 |
static inline void gen_op_jmp_T0(void) |
417 | 412 |
{ |
418 | 413 |
tcg_gen_st_tl(cpu_T[0], cpu_env, offsetof(CPUX86State, eip)); |
... | ... | |
1340 | 1335 |
set_cc_op(s1, CC_OP_SBBB + ot); |
1341 | 1336 |
break; |
1342 | 1337 |
case OP_ADDL: |
1343 |
gen_op_addl_T0_T1();
|
|
1338 |
tcg_gen_add_tl(cpu_T[0], cpu_T[0], cpu_T[1]);
|
|
1344 | 1339 |
gen_op_st_rm_T0_A0(s1, ot, d); |
1345 | 1340 |
gen_op_update2_cc(); |
1346 | 1341 |
set_cc_op(s1, CC_OP_ADDB + ot); |
... | ... | |
5124 | 5119 |
rm = (modrm & 7) | REX_B(s); |
5125 | 5120 |
gen_op_mov_TN_reg(ot, 0, reg); |
5126 | 5121 |
gen_op_mov_TN_reg(ot, 1, rm); |
5127 |
gen_op_addl_T0_T1();
|
|
5122 |
tcg_gen_add_tl(cpu_T[0], cpu_T[0], cpu_T[1]);
|
|
5128 | 5123 |
gen_op_mov_reg_v(ot, reg, cpu_T[1]); |
5129 | 5124 |
gen_op_mov_reg_v(ot, rm, cpu_T[0]); |
5130 | 5125 |
} else { |
5131 | 5126 |
gen_lea_modrm(env, s, modrm); |
5132 | 5127 |
gen_op_mov_TN_reg(ot, 0, reg); |
5133 | 5128 |
gen_op_ld_v(s, ot, cpu_T[1], cpu_A0); |
5134 |
gen_op_addl_T0_T1();
|
|
5129 |
tcg_gen_add_tl(cpu_T[0], cpu_T[0], cpu_T[1]);
|
|
5135 | 5130 |
gen_op_st_v(s, ot, cpu_T[0], cpu_A0); |
5136 | 5131 |
gen_op_mov_reg_v(ot, reg, cpu_T[1]); |
5137 | 5132 |
} |
Also available in: Unified diff