diff options
author | Richard Henderson <rth@twiddle.net> | 2013-04-23 13:07:40 -0700 |
---|---|---|
committer | Aurelien Jarno <aurelien@aurel32.net> | 2013-04-27 02:16:45 +0200 |
commit | 96fbd7de3656583d647c204c4138bbdcc3e35d2b (patch) | |
tree | 59e5609c58aa11ace0806069291f4672f06b81ee | |
parent | df5e0ef711cdd2ebfd4bdf420bfde17aa28df8b1 (diff) | |
download | hqemu-96fbd7de3656583d647c204c4138bbdcc3e35d2b.zip hqemu-96fbd7de3656583d647c204c4138bbdcc3e35d2b.tar.gz |
tcg-arm: Remove long jump from tcg_out_goto_label
Branches within a TB will always be within 16MB.
Signed-off-by: Richard Henderson <rth@twiddle.net>
-rw-r--r-- | tcg/arm/tcg-target.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/tcg/arm/tcg-target.c b/tcg/arm/tcg-target.c index d6afa2f..7216f7a 100644 --- a/tcg/arm/tcg-target.c +++ b/tcg/arm/tcg-target.c @@ -1055,14 +1055,9 @@ static inline void tcg_out_goto_label(TCGContext *s, int cond, int label_index) { TCGLabel *l = &s->labels[label_index]; - if (l->has_value) + if (l->has_value) { tcg_out_goto(s, cond, l->u.value); - else if (cond == COND_AL) { - tcg_out_ld32_12(s, COND_AL, TCG_REG_PC, TCG_REG_PC, -4); - tcg_out_reloc(s, s->code_ptr, R_ARM_ABS32, label_index, 31337); - s->code_ptr += 4; } else { - /* Probably this should be preferred even for COND_AL... */ tcg_out_reloc(s, s->code_ptr, R_ARM_PC24, label_index, 31337); tcg_out_b_noaddr(s, cond); } |