target/i386: inline gen_jcc into sole caller
The code of gen_Jcc is very similar to gen_LOOP* and gen_JCXZ, but this is hidden by gen_jcc. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Link: https://lore.kernel.org/r/20241215090613.89588-2-pbonzini@redhat.com Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
5faaac0a4c
commit
6ace2d5163
@ -2297,8 +2297,11 @@ static void gen_IRET(DisasContext *s, X86DecodedInsn *decode)
|
|||||||
|
|
||||||
static void gen_Jcc(DisasContext *s, X86DecodedInsn *decode)
|
static void gen_Jcc(DisasContext *s, X86DecodedInsn *decode)
|
||||||
{
|
{
|
||||||
|
TCGLabel *taken = gen_new_label();
|
||||||
|
|
||||||
gen_bnd_jmp(s);
|
gen_bnd_jmp(s);
|
||||||
gen_jcc(s, decode->b & 0xf, decode->immediate);
|
gen_jcc1(s, decode->b & 0xf, taken);
|
||||||
|
gen_conditional_jump_labels(s, decode->immediate, NULL, taken);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gen_JCXZ(DisasContext *s, X86DecodedInsn *decode)
|
static void gen_JCXZ(DisasContext *s, X86DecodedInsn *decode)
|
||||||
|
@ -1847,14 +1847,6 @@ static void gen_conditional_jump_labels(DisasContext *s, target_long diff,
|
|||||||
gen_jmp_rel(s, s->dflag, diff, 0);
|
gen_jmp_rel(s, s->dflag, diff, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gen_jcc(DisasContext *s, int b, int diff)
|
|
||||||
{
|
|
||||||
TCGLabel *l1 = gen_new_label();
|
|
||||||
|
|
||||||
gen_jcc1(s, b, l1);
|
|
||||||
gen_conditional_jump_labels(s, diff, NULL, l1);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void gen_cmovcc1(DisasContext *s, int b, TCGv dest, TCGv src)
|
static void gen_cmovcc1(DisasContext *s, int b, TCGv dest, TCGv src)
|
||||||
{
|
{
|
||||||
CCPrepare cc = gen_prepare_cc(s, b, NULL);
|
CCPrepare cc = gen_prepare_cc(s, b, NULL);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user