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é <f4...@amsat.org> BTW -d out_asm looks nice ;)