projects
/
sdk
/
emulator
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
df5e0ef
)
tcg-arm: Remove long jump from tcg_out_goto_label
author
Richard Henderson
<rth@twiddle.net>
Tue, 23 Apr 2013 20:07:40 +0000
(13:07 -0700)
committer
Aurelien Jarno
<aurelien@aurel32.net>
Sat, 27 Apr 2013 00:16:45 +0000
(
02:16
+0200)
Branches within a TB will always be within 16MB.
Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg/arm/tcg-target.c
patch
|
blob
|
history
diff --git
a/tcg/arm/tcg-target.c
b/tcg/arm/tcg-target.c
index d6afa2f3097675b28cdce0eb2a970fb4f5b6416d..7216f7a63d2ae8cd117597df5a34a83605a995d2 100644
(file)
--- 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);
}