[RFC-PATCH-for-11.0 v3 00/21] accel/tcg: Remove most MO_TE uses in cpu_ld/st_code/data()

Philippe Mathieu-Daudé posted 21 patches 2 months, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20251121134503.30914-1-philmd@linaro.org
Maintainers: Richard Henderson <richard.henderson@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>, Laurent Vivier <laurent@vivier.eu>, Brian Cain <brian.cain@oss.qualcomm.com>, Helge Deller <deller@gmx.de>, Zhao Liu <zhao1.liu@intel.com>, Eduardo Habkost <eduardo@habkost.net>, Song Gao <gaosong@loongson.cn>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Aurelien Jarno <aurelien@aurel32.net>, Jiaxun Yang <jiaxun.yang@flygoat.com>, Aleksandar Rikalo <arikalo@gmail.com>, Nicholas Piggin <npiggin@gmail.com>, Chinmay Rath <rathc@linux.ibm.com>, Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>, Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <dbarboza@ventanamicro.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Yoshinori Sato <yoshinori.sato@nifty.com>, David Hildenbrand <david@kernel.org>, Ilya Leoshkevich <iii@linux.ibm.com>, Thomas Huth <thuth@redhat.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Artyom Tarasenko <atar4qemu@gmail.com>, Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
include/accel/tcg/cpu-ldst.h         |  79 +++++---------
target/hexagon/macros.h              |   6 +-
target/i386/ops_sse.h                |  12 +--
target/i386/tcg/seg_helper.h         |  12 +--
linux-user/vm86.c                    |   4 +-
target/alpha/mem_helper.c            |   2 +-
target/hexagon/op_helper.c           |   6 +-
target/hppa/op_helper.c              |  44 ++++----
target/i386/tcg/mem_helper.c         |   8 +-
target/i386/tcg/mpx_helper.c         |  28 ++---
target/i386/tcg/seg_helper.c         |  16 +--
target/i386/tcg/system/excp_helper.c |   8 +-
target/i386/tcg/system/svm_helper.c  |  48 ++++-----
target/loongarch/tcg/tcg_cpu.c       |   2 +-
target/m68k/fpu_helper.c             |  12 +--
target/m68k/op_helper.c              |  88 ++++++++--------
target/mips/tcg/msa_helper.c         |  51 +++++----
target/mips/tcg/system/tlb_helper.c  |  22 +++-
target/ppc/tcg-excp_helper.c         |  16 +--
target/riscv/translate.c             |   2 +-
target/riscv/vector_helper.c         |  12 +--
target/riscv/zce_helper.c            |   4 +-
target/rx/helper.c                   |  14 +--
target/rx/op_helper.c                |   6 +-
target/s390x/tcg/mem_helper.c        |  54 +++++-----
target/s390x/tcg/vec_helper.c        |   8 +-
target/sh4/op_helper.c               |   6 +-
target/sparc/int32_helper.c          |   2 +-
target/sparc/ldst_helper.c           |   6 +-
target/tricore/op_helper.c           | 152 +++++++++++++--------------
30 files changed, 360 insertions(+), 370 deletions(-)
[RFC-PATCH-for-11.0 v3 00/21] accel/tcg: Remove most MO_TE uses in cpu_ld/st_code/data()
Posted by Philippe Mathieu-Daudé 2 months, 2 weeks ago
Quick attempt to remove MO_TE uses for fixed-endianness targets.

v3: convert all CODE uses, almost all DATA uses (except PPC/MIPS).
v2: convert all but mips targets and remove unexplicit API.

Superseeded: <20251120201919.8460-1-philmd@linaro.org>

Philippe Mathieu-Daudé (21):
  accel/tcg: Add endianness variants of cpu_ld{uw,l,q}_code()
  target/alpha: Use little-endian variant of cpu_ldl_code()
  target/loongarch: Use little-endian variant of cpu_ldl_code()
  target/sparc: Use big-endian variant of cpu_ldl_code()
  target/s390x: Use big-endian variant of cpu_ld{uw,l}_code()
  target/riscv: Use little-endian variant of cpu_ld{l,q}_code()
  target/ppc: Replace cpu_ldl_code() by explicit endianness variants
  target/mips: Replace cpu_ld{uw,l}_code() by explicit endianness
    variants
  accel/tcg: Remove non-explicit endian cpu_ld*_code() helpers
  target/hexagon: Use little-endian variant of cpu_ld/st_data*()
  target/tricore: Use little-endian variant of cpu_ld/st_data*()
  target/rx: Use little-endian variant of cpu_ld/st_data*()
  target/m68k: Use little-endian variant of cpu_ld/st_data*()
  target/s390x: Use little-endian variant of cpu_ld/st_data*()
  target/sparc: Use little-endian variant of cpu_ld/st_data*()
  target/i386: Use little-endian variant of cpu_ld/st_data*()
  target/hppa: Use little-endian variant of cpu_ld/st_data*()
  target/riscv: Use little-endian variant of cpu_ld/st_data*() for
    vector
  target/sh4: Replace cpu_stl_data() by explicit endianness variants
  target/mips: Use big-endian variant of cpu_ld/st_data*() for MSA
  accel/tcg: Remove non-explicit endian cpu_ld/st*_data*() helpers

 include/accel/tcg/cpu-ldst.h         |  79 +++++---------
 target/hexagon/macros.h              |   6 +-
 target/i386/ops_sse.h                |  12 +--
 target/i386/tcg/seg_helper.h         |  12 +--
 linux-user/vm86.c                    |   4 +-
 target/alpha/mem_helper.c            |   2 +-
 target/hexagon/op_helper.c           |   6 +-
 target/hppa/op_helper.c              |  44 ++++----
 target/i386/tcg/mem_helper.c         |   8 +-
 target/i386/tcg/mpx_helper.c         |  28 ++---
 target/i386/tcg/seg_helper.c         |  16 +--
 target/i386/tcg/system/excp_helper.c |   8 +-
 target/i386/tcg/system/svm_helper.c  |  48 ++++-----
 target/loongarch/tcg/tcg_cpu.c       |   2 +-
 target/m68k/fpu_helper.c             |  12 +--
 target/m68k/op_helper.c              |  88 ++++++++--------
 target/mips/tcg/msa_helper.c         |  51 +++++----
 target/mips/tcg/system/tlb_helper.c  |  22 +++-
 target/ppc/tcg-excp_helper.c         |  16 +--
 target/riscv/translate.c             |   2 +-
 target/riscv/vector_helper.c         |  12 +--
 target/riscv/zce_helper.c            |   4 +-
 target/rx/helper.c                   |  14 +--
 target/rx/op_helper.c                |   6 +-
 target/s390x/tcg/mem_helper.c        |  54 +++++-----
 target/s390x/tcg/vec_helper.c        |   8 +-
 target/sh4/op_helper.c               |   6 +-
 target/sparc/int32_helper.c          |   2 +-
 target/sparc/ldst_helper.c           |   6 +-
 target/tricore/op_helper.c           | 152 +++++++++++++--------------
 30 files changed, 360 insertions(+), 370 deletions(-)

-- 
2.51.0