提交 4e85057b 编写于 作者: R Richard Henderson 提交者: Paolo Bonzini

target-i386: Tidy gen_add_A0_im

Merge gen_op_addl_A0_im and gen_op_addq_A0_im into gen_add_A0_im
and clean up the ifdef.

Replace the one remaining user of gen_op_addl_A0_im with gen_add_A0_im.
Reviewed-by: NPeter Maydell <peter.maydell@linaro.org>
Signed-off-by: NRichard Henderson <rth@twiddle.net>
Message-Id: <1450379966-28198-10-git-send-email-rth@twiddle.net>
Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
上级 2045f04c
...@@ -373,29 +373,12 @@ static inline void gen_op_mov_v_reg(TCGMemOp ot, TCGv t0, int reg) ...@@ -373,29 +373,12 @@ static inline void gen_op_mov_v_reg(TCGMemOp ot, TCGv t0, int reg)
} }
} }
static inline void gen_op_addl_A0_im(int32_t val)
{
tcg_gen_addi_tl(cpu_A0, cpu_A0, val);
#ifdef TARGET_X86_64
tcg_gen_andi_tl(cpu_A0, cpu_A0, 0xffffffff);
#endif
}
#ifdef TARGET_X86_64
static inline void gen_op_addq_A0_im(int64_t val)
{
tcg_gen_addi_tl(cpu_A0, cpu_A0, val);
}
#endif
static void gen_add_A0_im(DisasContext *s, int val) static void gen_add_A0_im(DisasContext *s, int val)
{ {
#ifdef TARGET_X86_64 tcg_gen_addi_tl(cpu_A0, cpu_A0, val);
if (CODE64(s)) if (!CODE64(s)) {
gen_op_addq_A0_im(val); tcg_gen_ext32u_tl(cpu_A0, cpu_A0);
else }
#endif
gen_op_addl_A0_im(val);
} }
static inline void gen_op_jmp_v(TCGv dest) static inline void gen_op_jmp_v(TCGv dest)
...@@ -6229,7 +6212,7 @@ static target_ulong disas_insn(CPUX86State *env, DisasContext *s, ...@@ -6229,7 +6212,7 @@ static target_ulong disas_insn(CPUX86State *env, DisasContext *s,
exception */ exception */
gen_op_jmp_v(cpu_T[0]); gen_op_jmp_v(cpu_T[0]);
/* pop selector */ /* pop selector */
gen_op_addl_A0_im(1 << dflag); gen_add_A0_im(s, 1 << dflag);
gen_op_ld_v(s, dflag, cpu_T[0], cpu_A0); gen_op_ld_v(s, dflag, cpu_T[0], cpu_A0);
gen_op_movl_seg_T0_vm(R_CS); gen_op_movl_seg_T0_vm(R_CS);
/* add stack offset */ /* add stack offset */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册