From d0e0c847e17aee99066f0ba15a0f70f75685713b Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 3 Mar 2021 19:55:08 -0500 Subject: [PATCH] tcg/aarch64: Use B not BL for tcg_out_goto_long A typo generated a branch-and-link insn instead of plain branch. Backports f716bab3a9553259ff90505b3ddd245f4f8c4061 --- qemu/tcg/aarch64/tcg-target.inc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qemu/tcg/aarch64/tcg-target.inc.c b/qemu/tcg/aarch64/tcg-target.inc.c index 9239f65e..7142913f 100644 --- a/qemu/tcg/aarch64/tcg-target.inc.c +++ b/qemu/tcg/aarch64/tcg-target.inc.c @@ -1313,7 +1313,7 @@ static inline void tcg_out_goto_long(TCGContext *s, tcg_insn_unit *target) { ptrdiff_t offset = target - s->code_ptr; if (offset == sextract64(offset, 0, 26)) { - tcg_out_insn(s, 3206, BL, offset); + tcg_out_insn(s, 3206, B, offset); } else { tcg_out_movi(s, TCG_TYPE_I64, TCG_REG_TMP, (intptr_t)target); tcg_out_insn(s, 3207, BR, TCG_REG_TMP);