[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 4/5] tcg/arm: optimize tcg_out_goto_label
From: |
Aurelien Jarno |
Subject: |
[Qemu-devel] [PATCH 4/5] tcg/arm: optimize tcg_out_goto_label |
Date: |
Tue, 9 Oct 2012 22:30:51 +0200 |
tcg_out_goto_label is only used inside a TB, so there is no reason
for not using 24-bit branches even for COND_AL.
Cc: Andrzej Zaborowski <address@hidden>
Cc: Peter Maydell <address@hidden>
Signed-off-by: Aurelien Jarno <address@hidden>
---
tcg/arm/tcg-target.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/tcg/arm/tcg-target.c b/tcg/arm/tcg-target.c
index 3191903..fafbd5d 100644
--- a/tcg/arm/tcg-target.c
+++ b/tcg/arm/tcg-target.c
@@ -959,14 +959,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);
}
--
1.7.10.4
[Qemu-devel] [PATCH 4/5] tcg/arm: optimize tcg_out_goto_label,
Aurelien Jarno <=