Since v1: - Redo the whole change, only hoisting when variable is used 10+ times - Remove goto statement/label - Take care of the following pattern:
case INDEX_op_bswap64_i64: a2 =3D TCG_REG_R0; if (a0 =3D=3D a1) { a0 =3D TCG_REG_R0; a2 =3D a1; } ... if (a0 =3D=3D 0) { tcg_out_mov(s, TCG_TYPE_REG, args[0], a0); ^^^^ take original a[0] } Attempt to fix the warning reported by Miroslav using GCC 10: https://www.mail-archive.com/qemu-devel@nongnu.org/msg771520.html Diff with v1: Key: [----] : patches are identical [####] : number of functional differences between upstream/downstream patch [down] : patch is downstream-only The flags [FC] indicate (F)unctional and (C)ontextual differences, respective= ly 001/6:[0063] [FC] 'tcg/arm: Hoist common argument loads in tcg_out_op()' 002/6:[down] 'tcg/arm: Replace goto statement by fall through comment' 003/6:[0190] [FC] 'tcg/ppc: Hoist common argument loads in tcg_out_op()' 004/6:[0136] [FC] 'tcg/s390: Hoist common argument loads in tcg_out_op()' 005/6:[----] [--] 'tcg: Restrict tcg_out_op() to arrays of TCG_MAX_OP_ARGS el= ements' 006/6:[----] [--] 'tcg: Restrict tcg_out_vec_op() to arrays of TCG_MAX_OP_ARG= S elements' Philippe Mathieu-Daud=C3=A9 (6): tcg/arm: Hoist common argument loads in tcg_out_op() tcg/arm: Replace goto statement by fall through comment tcg/ppc: Hoist common argument loads in tcg_out_op() tcg/s390: Hoist common argument loads in tcg_out_op() tcg: Restrict tcg_out_op() to arrays of TCG_MAX_OP_ARGS elements tcg: Restrict tcg_out_vec_op() to arrays of TCG_MAX_OP_ARGS elements tcg/tcg.c | 19 +-- tcg/aarch64/tcg-target.c.inc | 3 +- tcg/arm/tcg-target.c.inc | 196 +++++++++++++++---------------- tcg/i386/tcg-target.c.inc | 6 +- tcg/mips/tcg-target.c.inc | 3 +- tcg/ppc/tcg-target.c.inc | 191 ++++++++++++++---------------- tcg/riscv/tcg-target.c.inc | 3 +- tcg/s390/tcg-target.c.inc | 222 +++++++++++++++++------------------ tcg/tci/tcg-target.c.inc | 5 +- 9 files changed, 311 insertions(+), 337 deletions(-) --=20 2.26.2