On 3/11/21 3:39 PM, Richard Henderson wrote:
>
> Richard Henderson (57):
> tcg/tci: Remove ifdefs for TCG_TARGET_HAS_ext32[us]_i64
> tcg/tci: Rename tci_read_r to tci_read_rval
> tcg/tci: Split out tci_args_rrs
> tcg/tci: Split out tci_args_rr
> tcg/tci: Split out tci_args_rrr
> tcg/tci: Split out tci_args_rrrc
> tcg/tci: Split out tci_args_l
> tcg/tci: Split out tci_args_rrrrrc
> tcg/tci: Split out tci_args_rrcl and tci_args_rrrrcl
> tcg/tci: Split out tci_args_ri and tci_args_rI
> tcg/tci: Reuse tci_args_l for calls.
> tcg/tci: Reuse tci_args_l for exit_tb
> tcg/tci: Reuse tci_args_l for goto_tb
> tcg/tci: Split out tci_args_rrrrrr
> tcg/tci: Split out tci_args_rrrr
> tcg/tci: Clean up deposit operations
> tcg/tci: Reduce qemu_ld/st TCGMemOpIdx operand to 32-bits
> tcg/tci: Split out tci_args_{rrm,rrrm,rrrrm}
> tcg/tci: Hoist op_size checking into tci_args_*
> tcg/tci: Remove tci_disas
> tcg/tci: Implement the disassembler properly
> tcg: Build ffi data structures for helpers
> tcg/tci: Use ffi for calls
> tcg/tci: Improve tcg_target_call_clobber_regs
> tcg/tci: Move call-return regs to end of tcg_target_reg_alloc_order
> tcg/tci: Push opcode emit into each case
> tcg/tci: Split out tcg_out_op_rrs
> tcg/tci: Split out tcg_out_op_l
> tcg/tci: Split out tcg_out_op_p
> tcg/tci: Split out tcg_out_op_rr
> tcg/tci: Split out tcg_out_op_rrr
> tcg/tci: Split out tcg_out_op_rrrc
> tcg/tci: Split out tcg_out_op_rrrrrc
> tcg/tci: Split out tcg_out_op_rrrbb
> tcg/tci: Split out tcg_out_op_rrcl
> tcg/tci: Split out tcg_out_op_rrrrrr
> tcg/tci: Split out tcg_out_op_rrrr
> tcg/tci: Split out tcg_out_op_rrrrcl
> tcg/tci: Split out tcg_out_op_{rrm,rrrm,rrrrm}
> tcg/tci: Split out tcg_out_op_v
> tcg/tci: Split out tcg_out_op_np
> tcg/tci: Split out tcg_out_op_r[iI]
> tcg/tci: Reserve r13 for a temporary
> tcg/tci: Emit setcond before brcond
> tcg/tci: Remove tci_write_reg
> tcg/tci: Change encoding to uint32_t units
> tcg/tci: Implement goto_ptr
> tcg/tci: Implement movcond
> tcg/tci: Implement andc, orc, eqv, nand, nor
> tcg/tci: Implement extract, sextract
> tcg/tci: Implement clz, ctz, ctpop
> tcg/tci: Implement mulu2, muls2
> tcg/tci: Implement add2, sub2
> tcg/tci: Split out tci_qemu_ld, tci_qemu_st
> tests/tcg: Increase timeout for TCI
> gitlab: Rename ACCEL_CONFIGURE_OPTS to EXTRA_CONFIGURE_OPTS
> gitlab: Enable cross-i386 builds of TCI
>
> configure | 3 +
> meson.build | 9 +-
> include/exec/helper-ffi.h | 115 ++
> include/exec/helper-tcg.h | 24 +-
> include/tcg/tcg-opc.h | 6 +-
> include/tcg/tcg.h | 1 +
> target/hppa/helper.h | 2 +
> target/i386/ops_sse_header.h | 6 +
> target/m68k/helper.h | 1 +
> target/ppc/helper.h | 3 +
> tcg/tci/tcg-target-con-set.h | 2 +-
> tcg/tci/tcg-target.h | 81 +-
> disas/tci.c | 61 -
> tcg/tcg.c | 88 +-
> tcg/tci.c | 1517 ++++++++++-------
> tcg/tci/tcg-target.c.inc | 704 +++++---
> .gitlab-ci.d/crossbuilds.yml | 21 +-
> tcg/tci/README | 20 +-
> .../dockerfiles/fedora-i386-cross.docker | 1 +
> tests/docker/dockerfiles/fedora.docker | 1 +
Except the Docker part, tested running SH4 on HPPA, so:
Tested-by: Philippe Mathieu-Daudé <[email protected]>
BTW -d out_asm looks nice ;)