[PATCH v5 00/30] tcg: Simplify calls to load/store helpers

Richard Henderson posted 30 patches 12 months ago
Failed in applying to current master (apply log)
Maintainers: Richard Henderson <richard.henderson@linaro.org>, WANG Xuerui <git@xen0n.name>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Aurelien Jarno <aurelien@aurel32.net>, Huacai Chen <chenhuacai@kernel.org>, Jiaxun Yang <jiaxun.yang@flygoat.com>, Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>, Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <Alistair.Francis@wdc.com>
tcg/loongarch64/tcg-target-con-set.h |   2 -
tcg/loongarch64/tcg-target-con-str.h |   1 -
tcg/mips/tcg-target-con-set.h        |  13 +-
tcg/mips/tcg-target-con-str.h        |   2 -
tcg/mips/tcg-target.h                |   4 +-
tcg/ppc/tcg-target-con-set.h         |  11 +-
tcg/ppc/tcg-target-con-str.h         |   7 -
tcg/riscv/tcg-target-con-set.h       |   2 -
tcg/riscv/tcg-target-con-str.h       |   1 -
tcg/s390x/tcg-target-con-set.h       |   2 -
tcg/s390x/tcg-target-con-str.h       |   1 -
tcg/tcg.c                            | 456 +++++++++++++-
tcg/aarch64/tcg-target.c.inc         | 347 +++++------
tcg/arm/tcg-target.c.inc             | 455 +++++---------
tcg/i386/tcg-target.c.inc            | 451 +++++---------
tcg/loongarch64/tcg-target.c.inc     | 313 ++++------
tcg/mips/tcg-target.c.inc            | 870 ++++++++-------------------
tcg/ppc/tcg-target.c.inc             | 510 +++++++---------
tcg/riscv/tcg-target.c.inc           | 304 ++++------
tcg/s390x/tcg-target.c.inc           | 314 ++++------
20 files changed, 1766 insertions(+), 2300 deletions(-)
[PATCH v5 00/30] tcg: Simplify calls to load/store helpers
Posted by Richard Henderson 12 months ago
There are several changes to the load/store helpers coming, and making
sure that those changes are properly reflected across all of the backends
was harrowing.

I have gone back and restarted by hoisting the code out of the backends
and into tcg.c.  We already have all of the parameters for the host
function call abi for "normal" helpers, we simply need to apply that to
the load/store slow path.

Changes for v5:
  * 24 patches upstreamed; 6 of the remaining 30 have reviews, but
    could not be merged out of order.


r~


Richard Henderson (30):
  tcg/i386: Introduce prepare_host_addr
  tcg/i386: Use indexed addressing for softmmu fast path
  tcg/aarch64: Introduce prepare_host_addr
  tcg/arm: Introduce prepare_host_addr
  tcg/loongarch64: Introduce prepare_host_addr
  tcg/mips: Introduce prepare_host_addr
  tcg/ppc: Introduce prepare_host_addr
  tcg/riscv: Introduce prepare_host_addr
  tcg/s390x: Introduce prepare_host_addr
  tcg: Add routines for calling slow-path helpers
  tcg/i386: Convert tcg_out_qemu_ld_slow_path
  tcg/i386: Convert tcg_out_qemu_st_slow_path
  tcg/aarch64: Convert tcg_out_qemu_{ld,st}_slow_path
  tcg/arm: Convert tcg_out_qemu_{ld,st}_slow_path
  tcg/loongarch64: Convert tcg_out_qemu_{ld,st}_slow_path
  tcg/mips: Convert tcg_out_qemu_{ld,st}_slow_path
  tcg/ppc: Convert tcg_out_qemu_{ld,st}_slow_path
  tcg/riscv: Convert tcg_out_qemu_{ld,st}_slow_path
  tcg/s390x: Convert tcg_out_qemu_{ld,st}_slow_path
  tcg/loongarch64: Simplify constraints on qemu_ld/st
  tcg/mips: Remove MO_BSWAP handling
  tcg/mips: Reorg tlb load within prepare_host_addr
  tcg/mips: Simplify constraints on qemu_ld/st
  tcg/ppc: Reorg tcg_out_tlb_read
  tcg/ppc: Adjust constraints on qemu_ld/st
  tcg/ppc: Remove unused constraints A, B, C, D
  tcg/ppc: Remove unused constraint J
  tcg/riscv: Simplify constraints on qemu_ld/st
  tcg/s390x: Use ALGFR in constructing softmmu host address
  tcg/s390x: Simplify constraints on qemu_ld/st

 tcg/loongarch64/tcg-target-con-set.h |   2 -
 tcg/loongarch64/tcg-target-con-str.h |   1 -
 tcg/mips/tcg-target-con-set.h        |  13 +-
 tcg/mips/tcg-target-con-str.h        |   2 -
 tcg/mips/tcg-target.h                |   4 +-
 tcg/ppc/tcg-target-con-set.h         |  11 +-
 tcg/ppc/tcg-target-con-str.h         |   7 -
 tcg/riscv/tcg-target-con-set.h       |   2 -
 tcg/riscv/tcg-target-con-str.h       |   1 -
 tcg/s390x/tcg-target-con-set.h       |   2 -
 tcg/s390x/tcg-target-con-str.h       |   1 -
 tcg/tcg.c                            | 456 +++++++++++++-
 tcg/aarch64/tcg-target.c.inc         | 347 +++++------
 tcg/arm/tcg-target.c.inc             | 455 +++++---------
 tcg/i386/tcg-target.c.inc            | 451 +++++---------
 tcg/loongarch64/tcg-target.c.inc     | 313 ++++------
 tcg/mips/tcg-target.c.inc            | 870 ++++++++-------------------
 tcg/ppc/tcg-target.c.inc             | 510 +++++++---------
 tcg/riscv/tcg-target.c.inc           | 304 ++++------
 tcg/s390x/tcg-target.c.inc           | 314 ++++------
 20 files changed, 1766 insertions(+), 2300 deletions(-)

-- 
2.34.1