On 1/8/26 06:29, Richard Henderson wrote:
Long has it been threatened, but here we are at last.
32-bit host support was deprecated with the 10.0 release, and so
with the 11.0 release we may remove it. Phil already did some
cleanup in 10.2, removing support for mips32 and ppc32 within tcg.
What is the situation with wasm? If I understand correctly, wasm32
really is a 64-bit target from the TCG point of view, because it has
64-bit registers internally (similar to x32).
If so, why remove testing it from CI?
Paolo
With a net -7302 in the diffstat, I think the motivations are clear,
even if half of that was tcg/arm/.
r~
Richard Henderson (50):
gitlab: Remove 32-bit host testing
meson: Reject 32-bit hosts
*: Remove arm host support
bsd-user: Fix __i386__ test for TARGET_HAS_STAT_TIME_T_EXT
*: Remove __i386__ tests
*: Remove i386 host support
host/include/x86_64/bufferiszero: Remove no SSE2 fallback
meson: Remove cpu == x86 tests
*: Remove ppc host support
tcg/i386: Remove TCG_TARGET_REG_BITS tests
tcg/x86_64: Rename from i386
tcg/ppc64: Rename from ppc
meson: Drop host_arch rename for mips64
meson: Drop host_arch rename for riscv64
meson: Remove cpu == riscv32 tests
tcg: Make TCG_TARGET_REG_BITS common
tcg: Replace TCG_TARGET_REG_BITS / 8
*: Drop TCG_TARGET_REG_BITS test for prefer_i64
tcg: Remove INDEX_op_brcond2_i32
tcg: Remove INDEX_op_setcond2_i32
tcg: Remove INDEX_op_dup2_vec
tcg/tci: Drop TCG_TARGET_REG_BITS tests
tcg/tci: Remove glue TCG_TARGET_REG_BITS renames
tcg: Drop TCG_TARGET_REG_BITS test in region.c
tcg: Drop TCG_TARGET_REG_BITS tests in tcg-op.c
tcg: Drop TCG_TARGET_REG_BITS tests in tcg-op-gvec.c
tcg: Drop TCG_TARGET_REG_BITS tests in tcg-op-ldst.c
tcg: Drop TCG_TARGET_REG_BITS tests in tcg.c
tcg: Drop TCG_TARGET_REG_BITS tests in tcg-internal.h
tcg: Drop TCG_TARGET_REG_BITS test in tcg-has.h
include/tcg: Drop TCG_TARGET_REG_BITS tests
target/i386/tcg: Drop TCG_TARGET_REG_BITS test
target/riscv: Drop TCG_TARGET_REG_BITS test
accel/tcg/runtime: Remove 64-bit shift helpers
accel/tcg/runtime: Remove helper_nonatomic_cmpxchgo
tcg: Unconditionally define atomic64 helpers
accel/tcg: Drop CONFIG_ATOMIC64 checks from ldst_atomicicy.c.inc
accel/tcg: Drop CONFIG_ATOMIC64 test from translator.c
linux-user/arm: Drop CONFIG_ATOMIC64 test
linux-user/hppa: Drop CONFIG_ATOMIC64 test
target/arm: Drop CONFIG_ATOMIC64 tests
target/hppa: Drop CONFIG_ATOMIC64 test
target/m68k: Drop CONFIG_ATOMIC64 tests
target/s390x: Drop CONFIG_ATOMIC64 tests
migration: Drop use of Stat64
block: Drop use of Stat64
util: Remove stats64
include/qemu/atomic: Drop qatomic_{read,set}_[iu]64
meson: Remove CONFIG_ATOMIC64
include/qemu/atomic: Drop aligned_{u}int64_t
accel/tcg/atomic_template.h | 4 +-
accel/tcg/tcg-runtime.h | 23 -
bsd-user/syscall_defs.h | 2 +-
host/include/i386/host/cpuinfo.h | 41 -
host/include/i386/host/crypto/aes-round.h | 152 -
host/include/i386/host/crypto/clmul.h | 29 -
host/include/ppc/host/cpuinfo.h | 30 -
host/include/ppc/host/crypto/aes-round.h | 182 -
host/include/ppc64/host/cpuinfo.h | 31 +-
host/include/ppc64/host/crypto/aes-round.h | 183 +-
.../include/{riscv => riscv64}/host/cpuinfo.h | 0
host/include/x86_64/host/cpuinfo.h | 42 +-
host/include/x86_64/host/crypto/aes-round.h | 153 +-
host/include/x86_64/host/crypto/clmul.h | 30 +-
include/accel/tcg/cpu-ldst-common.h | 9 -
include/block/block_int-common.h | 3 +-
include/qemu/atomic.h | 39 +-
include/qemu/cacheflush.h | 2 +-
include/qemu/osdep.h | 6 +-
include/qemu/processor.h | 2 +-
include/qemu/stats64.h | 199 -
include/qemu/timer.h | 9 -
include/system/cpu-timers-internal.h | 2 +-
include/tcg/helper-info.h | 2 +-
.../tcg/target-reg-bits.h | 8 +-
include/tcg/tcg-op.h | 9 +-
include/tcg/tcg-opc.h | 9 +-
include/tcg/tcg.h | 29 +-
linux-user/include/host/arm/host-signal.h | 43 -
linux-user/include/host/i386/host-signal.h | 38 -
.../host/{mips => mips64}/host-signal.h | 0
linux-user/include/host/ppc/host-signal.h | 39 -
.../host/{riscv => riscv64}/host-signal.h | 0
migration/migration-stats.h | 36 +-
tcg/aarch64/tcg-target-reg-bits.h | 12 -
tcg/arm/tcg-target-con-set.h | 47 -
tcg/arm/tcg-target-con-str.h | 26 -
tcg/arm/tcg-target-has.h | 73 -
tcg/arm/tcg-target-mo.h | 13 -
tcg/arm/tcg-target-reg-bits.h | 12 -
tcg/arm/tcg-target.h | 73 -
tcg/i386/tcg-target-reg-bits.h | 16 -
tcg/loongarch64/tcg-target-reg-bits.h | 21 -
tcg/mips/tcg-target-reg-bits.h | 16 -
tcg/{mips => mips64}/tcg-target-con-set.h | 0
tcg/{mips => mips64}/tcg-target-con-str.h | 0
tcg/{mips => mips64}/tcg-target-has.h | 0
tcg/{mips => mips64}/tcg-target-mo.h | 0
tcg/{mips => mips64}/tcg-target.h | 0
tcg/{ppc => ppc64}/tcg-target-con-set.h | 0
tcg/{ppc => ppc64}/tcg-target-con-str.h | 0
tcg/{ppc => ppc64}/tcg-target-has.h | 0
tcg/{ppc => ppc64}/tcg-target-mo.h | 0
tcg/{ppc => ppc64}/tcg-target.h | 0
tcg/riscv/tcg-target-reg-bits.h | 19 -
tcg/{riscv => riscv64}/tcg-target-con-set.h | 0
tcg/{riscv => riscv64}/tcg-target-con-str.h | 0
tcg/{riscv => riscv64}/tcg-target-has.h | 0
tcg/{riscv => riscv64}/tcg-target-mo.h | 0
tcg/{riscv => riscv64}/tcg-target.h | 0
tcg/s390x/tcg-target-reg-bits.h | 17 -
tcg/sparc64/tcg-target-reg-bits.h | 12 -
tcg/tcg-has.h | 5 -
tcg/tcg-internal.h | 21 +-
tcg/tci/tcg-target-has.h | 2 -
tcg/tci/tcg-target-mo.h | 2 +-
tcg/tci/tcg-target-reg-bits.h | 18 -
tcg/{i386 => x86_64}/tcg-target-con-set.h | 0
tcg/{i386 => x86_64}/tcg-target-con-str.h | 0
tcg/{i386 => x86_64}/tcg-target-has.h | 8 +-
tcg/{i386 => x86_64}/tcg-target-mo.h | 0
tcg/{i386 => x86_64}/tcg-target.h | 13 +-
accel/kvm/kvm-all.c | 2 +-
accel/qtest/qtest.c | 4 +-
accel/tcg/cputlb.c | 37 +-
accel/tcg/icount-common.c | 25 +-
accel/tcg/tcg-runtime.c | 15 -
accel/tcg/translator.c | 4 +-
accel/tcg/user-exec.c | 2 -
block/io.c | 10 +-
block/qapi.c | 2 +-
disas/disas-host.c | 9 -
hw/display/xenfb.c | 10 +-
hw/virtio/virtio-mem.c | 2 +-
linux-user/arm/cpu_loop.c | 19 +-
linux-user/hppa/cpu_loop.c | 14 +-
linux-user/mmap.c | 2 +-
linux-user/syscall.c | 9 -
migration/cpu-throttle.c | 4 +-
migration/migration-stats.c | 16 +-
migration/migration.c | 24 +-
migration/multifd-nocomp.c | 2 +-
migration/multifd-zero-page.c | 4 +-
migration/multifd.c | 12 +-
migration/qemu-file.c | 6 +-
migration/ram.c | 30 +-
migration/rdma.c | 8 +-
system/dirtylimit.c | 2 +-
target/arm/ptw.c | 18 +-
target/arm/tcg/gengvec.c | 32 +-
target/arm/tcg/gengvec64.c | 4 +-
target/arm/tcg/translate-sve.c | 26 +-
target/hppa/op_helper.c | 6 +-
target/i386/cpu.c | 10 -
target/m68k/op_helper.c | 7 +-
target/s390x/tcg/mem_helper.c | 7 -
tcg/optimize.c | 322 --
tcg/region.c | 12 -
tcg/tcg-op-gvec.c | 113 +-
tcg/tcg-op-ldst.c | 130 +-
tcg/tcg-op-vec.c | 14 +-
tcg/tcg-op.c | 765 +---
tcg/tcg.c | 376 +-
tcg/tci.c | 73 +-
tests/unit/test-rcu-list.c | 17 +-
util/atomic64.c | 85 -
util/cacheflush.c | 4 +-
util/qsp.c | 12 +-
util/stats64.c | 148 -
.gitlab-ci.d/buildtest-template.yml | 27 -
.gitlab-ci.d/buildtest.yml | 9 -
.gitlab-ci.d/container-cross.yml | 17 -
.gitlab-ci.d/containers.yml | 3 -
.gitlab-ci.d/crossbuilds.yml | 45 -
MAINTAINERS | 16 +-
accel/tcg/atomic_common.c.inc | 32 -
accel/tcg/ldst_atomicity.c.inc | 149 +-
common-user/host/arm/safe-syscall.inc.S | 108 -
common-user/host/i386/safe-syscall.inc.S | 127 -
.../host/{mips => mips64}/safe-syscall.inc.S | 0
common-user/host/ppc/safe-syscall.inc.S | 107 -
.../{riscv => riscv64}/safe-syscall.inc.S | 0
configure | 47 +-
docs/about/deprecated.rst | 29 -
docs/about/removed-features.rst | 6 +
docs/devel/tcg-ops.rst | 32 +-
host/include/i386/host/bufferiszero.c.inc | 125 -
host/include/x86_64/host/bufferiszero.c.inc | 121 +-
meson.build | 101 +-
target/i386/tcg/emit.c.inc | 39 +-
target/riscv/insn_trans/trans_rvv.c.inc | 56 +-
tcg/arm/tcg-target-opc.h.inc | 16 -
tcg/arm/tcg-target.c.inc | 3489 -----------------
tcg/loongarch64/tcg-target.c.inc | 4 +-
tcg/{mips => mips64}/tcg-target-opc.h.inc | 0
tcg/{mips => mips64}/tcg-target.c.inc | 0
tcg/{ppc => ppc64}/tcg-target-opc.h.inc | 0
tcg/{ppc => ppc64}/tcg-target.c.inc | 2 +-
tcg/{riscv => riscv64}/tcg-target-opc.h.inc | 0
tcg/{riscv => riscv64}/tcg-target.c.inc | 4 +-
tcg/tci/tcg-target.c.inc | 84 +-
tcg/{i386 => x86_64}/tcg-target-opc.h.inc | 0
tcg/{i386 => x86_64}/tcg-target.c.inc | 552 +--
util/meson.build | 4 -
154 files changed, 1158 insertions(+), 8460 deletions(-)
delete mode 100644 host/include/i386/host/cpuinfo.h
delete mode 100644 host/include/i386/host/crypto/aes-round.h
delete mode 100644 host/include/i386/host/crypto/clmul.h
delete mode 100644 host/include/ppc/host/cpuinfo.h
delete mode 100644 host/include/ppc/host/crypto/aes-round.h
rename host/include/{riscv => riscv64}/host/cpuinfo.h (100%)
delete mode 100644 include/qemu/stats64.h
rename tcg/ppc/tcg-target-reg-bits.h => include/tcg/target-reg-bits.h (71%)
delete mode 100644 linux-user/include/host/arm/host-signal.h
delete mode 100644 linux-user/include/host/i386/host-signal.h
rename linux-user/include/host/{mips => mips64}/host-signal.h (100%)
delete mode 100644 linux-user/include/host/ppc/host-signal.h
rename linux-user/include/host/{riscv => riscv64}/host-signal.h (100%)
delete mode 100644 tcg/aarch64/tcg-target-reg-bits.h
delete mode 100644 tcg/arm/tcg-target-con-set.h
delete mode 100644 tcg/arm/tcg-target-con-str.h
delete mode 100644 tcg/arm/tcg-target-has.h
delete mode 100644 tcg/arm/tcg-target-mo.h
delete mode 100644 tcg/arm/tcg-target-reg-bits.h
delete mode 100644 tcg/arm/tcg-target.h
delete mode 100644 tcg/i386/tcg-target-reg-bits.h
delete mode 100644 tcg/loongarch64/tcg-target-reg-bits.h
delete mode 100644 tcg/mips/tcg-target-reg-bits.h
rename tcg/{mips => mips64}/tcg-target-con-set.h (100%)
rename tcg/{mips => mips64}/tcg-target-con-str.h (100%)
rename tcg/{mips => mips64}/tcg-target-has.h (100%)
rename tcg/{mips => mips64}/tcg-target-mo.h (100%)
rename tcg/{mips => mips64}/tcg-target.h (100%)
rename tcg/{ppc => ppc64}/tcg-target-con-set.h (100%)
rename tcg/{ppc => ppc64}/tcg-target-con-str.h (100%)
rename tcg/{ppc => ppc64}/tcg-target-has.h (100%)
rename tcg/{ppc => ppc64}/tcg-target-mo.h (100%)
rename tcg/{ppc => ppc64}/tcg-target.h (100%)
delete mode 100644 tcg/riscv/tcg-target-reg-bits.h
rename tcg/{riscv => riscv64}/tcg-target-con-set.h (100%)
rename tcg/{riscv => riscv64}/tcg-target-con-str.h (100%)
rename tcg/{riscv => riscv64}/tcg-target-has.h (100%)
rename tcg/{riscv => riscv64}/tcg-target-mo.h (100%)
rename tcg/{riscv => riscv64}/tcg-target.h (100%)
delete mode 100644 tcg/s390x/tcg-target-reg-bits.h
delete mode 100644 tcg/sparc64/tcg-target-reg-bits.h
delete mode 100644 tcg/tci/tcg-target-reg-bits.h
rename tcg/{i386 => x86_64}/tcg-target-con-set.h (100%)
rename tcg/{i386 => x86_64}/tcg-target-con-str.h (100%)
rename tcg/{i386 => x86_64}/tcg-target-has.h (92%)
rename tcg/{i386 => x86_64}/tcg-target-mo.h (100%)
rename tcg/{i386 => x86_64}/tcg-target.h (86%)
delete mode 100644 util/atomic64.c
delete mode 100644 util/stats64.c
delete mode 100644 common-user/host/arm/safe-syscall.inc.S
delete mode 100644 common-user/host/i386/safe-syscall.inc.S
rename common-user/host/{mips => mips64}/safe-syscall.inc.S (100%)
delete mode 100644 common-user/host/ppc/safe-syscall.inc.S
rename common-user/host/{riscv => riscv64}/safe-syscall.inc.S (100%)
delete mode 100644 host/include/i386/host/bufferiszero.c.inc
delete mode 100644 tcg/arm/tcg-target-opc.h.inc
delete mode 100644 tcg/arm/tcg-target.c.inc
rename tcg/{mips => mips64}/tcg-target-opc.h.inc (100%)
rename tcg/{mips => mips64}/tcg-target.c.inc (100%)
rename tcg/{ppc => ppc64}/tcg-target-opc.h.inc (100%)
rename tcg/{ppc => ppc64}/tcg-target.c.inc (99%)
rename tcg/{riscv => riscv64}/tcg-target-opc.h.inc (100%)
rename tcg/{riscv => riscv64}/tcg-target.c.inc (99%)
rename tcg/{i386 => x86_64}/tcg-target-opc.h.inc (100%)
rename tcg/{i386 => x86_64}/tcg-target.c.inc (89%)