The first patch allows the x86-64 port to avoid the REX.W prefix on moves, by allowing reg-reg moves to be typed just as reg-imm moves already are. This does require trivial changes to each port.
The second patch fixes an oversight in commit 86feb1c860dc38e9c89e787c5210e8191800385e whereby I only modified the 32-bit host versions of the inline functions and not the 64-bit host versions. This is visible on x86-64 host with arm guest in that we unnecessarily emit some MOVSLQ insns instead of plain 32-bit MOV insns. r~ Richard Henderson (2): tcg: Add TYPE parameter to tcg_out_mov. tcg: Use INDEX_op_qemu_ld32 for 32-bit results. tcg/arm/tcg-target.c | 2 +- tcg/hppa/tcg-target.c | 38 ++++++++++++++++++------------------ tcg/i386/tcg-target.c | 49 ++++++++++++++++++++++++----------------------- tcg/ia64/tcg-target.c | 3 +- tcg/mips/tcg-target.c | 28 +++++++++++++------------- tcg/ppc/tcg-target.c | 48 +++++++++++++++++++++++----------------------- tcg/ppc64/tcg-target.c | 10 ++++---- tcg/s390/tcg-target.c | 2 +- tcg/sparc/tcg-target.c | 10 ++++---- tcg/tcg-op.h | 8 +++++++ tcg/tcg.c | 12 +++++----- tcg/x86_64/tcg-target.c | 20 ++++++++++-------- 12 files changed, 121 insertions(+), 109 deletions(-)