This contains several patches to fix compilation on ilp32 abis on 64-bit hosts, such as sparcv8plus and x32. It also contains the goto_ptr feature proposed by Emilio Cota.
r~ The following changes since commit 199e19ee538eb61fd08b1c1ee5aa838ebdcc968e: Merge remote-tracking branch 'remotes/mjt/tags/trivial-patches-fetch' into staging (2017-06-05 15:28:12 +0100) are available in the git repository at: git://github.com/rth7680/qemu.git tags/pull-tcg-20170605 for you to fetch changes up to 2d826cdc8a43ba1817a44f481f8dc8f08668b0a6: target/alpha: Use goto_tb for fallthru between TBs (2017-06-05 09:25:42 -0700) ---------------------------------------------------------------- Queued TCG patches ---------------------------------------------------------------- Aurelien Jarno (3): tcg/mips: implement goto_ptr target/mips: optimize cross-page direct jumps in softmmu target/mips: optimize indirect branches Emilio G. Cota (10): tcg: Introduce goto_ptr opcode and tcg_gen_lookup_and_goto_ptr tcg/i386: implement goto_ptr target/arm: optimize cross-page direct jumps in softmmu target/arm: optimize indirect branches target/i386: introduce gen_jr helper to generate lookup_and_goto_ptr target/i386: optimize cross-page direct jumps in softmmu target/i386: optimize indirect branches tb-hash: improve tb_jmp_cache hash function in user mode target/aarch64: optimize cross-page direct jumps in softmmu target/aarch64: optimize indirect branches Richard Henderson (13): target/nios2: Fix 64-bit ilp32 compilation tcg/sparc: Use the proper compilation flags for 32-bit qemu/atomic: Loosen restrictions for 64-bit ILP32 hosts tcg/ppc: Implement goto_ptr tcg/aarch64: Implement goto_ptr tcg/sparc: Implement goto_ptr tcg/s390: Implement goto_ptr tcg/arm: Clarify tcg_out_bx for arm4 host tcg/arm: Implement goto_ptr target/s390: Use tcg_gen_lookup_and_goto_ptr target/hppa: Use tcg_gen_lookup_and_goto_ptr target/alpha: Implement WTINT inline target/alpha: Use goto_tb for fallthru between TBs configure | 6 ++--- cpu-exec.c | 6 ++--- include/exec/exec-all.h | 2 ++ include/exec/tb-hash.h | 12 ++++++++++ include/qemu/atomic.h | 34 +++++++++++++++++++++------- target/alpha/translate.c | 30 ++++++++++++++++++------ target/arm/translate-a64.c | 5 ++-- target/arm/translate.c | 21 +++++++++++++---- target/arm/translate.h | 4 ++++ target/hppa/translate.c | 8 +++---- target/i386/translate.c | 43 +++++++++++++++++++++++++++-------- target/mips/translate.c | 4 ++-- target/nios2/translate.c | 2 +- target/s390x/translate.c | 17 ++++++++++---- tcg-runtime.c | 32 ++++++++++++++++++++++++++ tcg/README | 8 +++++++ tcg/aarch64/tcg-target.h | 1 + tcg/aarch64/tcg-target.inc.c | 22 ++++++++++++++++-- tcg/arm/tcg-target.h | 1 + tcg/arm/tcg-target.inc.c | 54 +++++++++++++++++++++++++++++--------------- tcg/i386/tcg-target.h | 1 + tcg/i386/tcg-target.inc.c | 24 ++++++++++++++++++-- tcg/ia64/tcg-target.h | 1 + tcg/mips/tcg-target.h | 1 + tcg/mips/tcg-target.inc.c | 13 +++++++++++ tcg/ppc/tcg-target.h | 1 + tcg/ppc/tcg-target.inc.c | 7 ++++++ tcg/s390/tcg-target.h | 1 + tcg/s390/tcg-target.inc.c | 24 +++++++++++++++++--- tcg/sparc/tcg-target.h | 1 + tcg/sparc/tcg-target.inc.c | 11 ++++++++- tcg/tcg-op.c | 12 ++++++++++ tcg/tcg-op.h | 11 +++++++++ tcg/tcg-opc.h | 1 + tcg/tcg-runtime.h | 2 ++ tcg/tcg.c | 5 ++++ tcg/tcg.h | 1 + tcg/tci/tcg-target.h | 1 + 38 files changed, 353 insertions(+), 77 deletions(-)