qemu/tcg/ppc
Leandro Lupori 20add58829 tcg/ppc: Optimize 26-bit jumps
PowerPC64 processors handle direct branches better than indirect
ones, resulting in less stalled cycles and branch misses.

However, PPC's tb_target_set_jmp_target() was only using direct
branches for 16-bit jumps, while PowerPC64's unconditional branch
instructions are able to handle displacements of up to 26 bits.
To take advantage of this, now jumps whose displacements fit in
between 17 and 26 bits are also converted to direct branches.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Leandro Lupori <leandro.lupori@eldorado.org.br>
[rth: Expanded some commentary.]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2022-10-04 12:13:22 -07:00
..
tcg-target-con-set.h tcg/ppc: Split out constraint sets to tcg-target-con-set.h 2021-02-02 12:12:43 -10:00
tcg-target-con-str.h tcg/ppc: Split out target constraints to tcg-target-con-str.h 2021-02-02 12:12:31 -10:00
tcg-target.c.inc tcg/ppc: Optimize 26-bit jumps 2022-10-04 12:13:22 -07:00
tcg-target.h tcg/ppc: implement rem[u]_i{32,64} with mod[su][wd] 2022-06-20 12:56:28 -07:00
tcg-target.opc.h tcg/ppc: Implement INDEX_op_rot[lr]v_vec 2020-06-02 08:42:37 -07:00