From: Richard Henderson <richard.henderson@linaro.org>
To: qemu-devel@nongnu.org
Cc: alex.bennee@linaro.org
Subject: [PATCH v5 00/36] tcg: Support for Int128 with helpers
Date: Wed, 25 Jan 2023 18:37:48 -1000 [thread overview]
Message-ID: <20230126043824.54819-1-richard.henderson@linaro.org> (raw)
Branch: https://gitlab.com/rth7680/qemu/-/tree/tcg-i128
Based-on: 20230124020507.3732200-1-richard.henderson@linaro.org
("[PULL v2 00/15] tcg patch queue")
Changes for v5:
* Rebase, minor conflicts fixed.
Patches lacking review:
common:
03-tcg-Allocate-objects-contiguously-in-temp_allocat.patch
05-tcg-Add-TCG_CALL_-RET-ARG-_BY_REF.patch
09-tcg-i386-Add-TCG_TARGET_CALL_-RET-ARG-_I128.patch
11-tcg-tci-Add-TCG_TARGET_CALL_-RET-ARG-_I128.patch
15-tcg-Add-guest-load-store-primitives-for-TCGv_i128.patch
16-tcg-Add-tcg_gen_-non-atomic_cmpxchg_i128.patch
17-tcg-Split-out-tcg_gen_nonatomic_cmpxchg_i-32-64.patch
target/s390x/
24-target-s390x-Use-a-single-return-for-helper_divs3.patch
29-target-s390x-Copy-wout_x1-to-wout_x1_P.patch
31-target-s390x-Use-Int128-for-passing-float128.patch
32-target-s390x-Use-tcg_gen_atomic_cmpxchg_i128-for-.patch
33-target-s390x-Implement-CC_OP_NZ-in-gen_op_calc_cc.patch
target/i386/
35-target-i386-Inline-cmpxchg8b.patch
36-target-i386-Inline-cmpxchg16b.patch
r~
Ilya Leoshkevich (2):
tests/tcg/s390x: Add div.c
tests/tcg/s390x: Add clst.c
Richard Henderson (34):
tcg: Define TCG_TYPE_I128 and related helper macros
tcg: Handle dh_typecode_i128 with TCG_CALL_{RET,ARG}_NORMAL
tcg: Allocate objects contiguously in temp_allocate_frame
tcg: Introduce tcg_out_addi_ptr
tcg: Add TCG_CALL_{RET,ARG}_BY_REF
tcg: Introduce tcg_target_call_oarg_reg
tcg: Add TCG_CALL_RET_BY_VEC
include/qemu/int128: Use Int128 structure for TCI
tcg/i386: Add TCG_TARGET_CALL_{RET,ARG}_I128
tcg/tci: Fix big-endian return register ordering
tcg/tci: Add TCG_TARGET_CALL_{RET,ARG}_I128
tcg: Add TCG_TARGET_CALL_{RET,ARG}_I128
tcg: Add temp allocation for TCGv_i128
tcg: Add basic data movement for TCGv_i128
tcg: Add guest load/store primitives for TCGv_i128
tcg: Add tcg_gen_{non}atomic_cmpxchg_i128
tcg: Split out tcg_gen_nonatomic_cmpxchg_i{32,64}
target/arm: Use tcg_gen_atomic_cmpxchg_i128 for STXP
target/arm: Use tcg_gen_atomic_cmpxchg_i128 for CASP
target/ppc: Use tcg_gen_atomic_cmpxchg_i128 for STQCX
tests/tcg/s390x: Add long-double.c
target/s390x: Use a single return for helper_divs32/u32
target/s390x: Use a single return for helper_divs64/u64
target/s390x: Use Int128 for return from CLST
target/s390x: Use Int128 for return from CKSM
target/s390x: Use Int128 for return from TRE
target/s390x: Copy wout_x1 to wout_x1_P
target/s390x: Use Int128 for returning float128
target/s390x: Use Int128 for passing float128
target/s390x: Use tcg_gen_atomic_cmpxchg_i128 for CDSG
target/s390x: Implement CC_OP_NZ in gen_op_calc_cc
target/i386: Split out gen_cmpxchg8b, gen_cmpxchg16b
target/i386: Inline cmpxchg8b
target/i386: Inline cmpxchg16b
accel/tcg/tcg-runtime.h | 11 +
include/exec/cpu_ldst.h | 10 +
include/exec/helper-head.h | 7 +
include/qemu/atomic128.h | 29 ++-
include/qemu/int128.h | 25 +-
include/tcg/tcg-op.h | 15 ++
include/tcg/tcg.h | 49 +++-
target/arm/helper-a64.h | 8 -
target/i386/helper.h | 6 -
target/ppc/helper.h | 2 -
target/s390x/helper.h | 54 ++---
tcg/aarch64/tcg-target.h | 2 +
tcg/arm/tcg-target.h | 2 +
tcg/i386/tcg-target.h | 10 +
tcg/loongarch64/tcg-target.h | 2 +
tcg/mips/tcg-target.h | 2 +
tcg/riscv/tcg-target.h | 3 +
tcg/s390x/tcg-target.h | 2 +
tcg/sparc64/tcg-target.h | 2 +
tcg/tcg-internal.h | 17 ++
tcg/tci/tcg-target.h | 3 +
target/s390x/tcg/insn-data.h.inc | 60 ++---
accel/tcg/cputlb.c | 112 +++++++++
accel/tcg/user-exec.c | 66 ++++++
target/arm/helper-a64.c | 147 ------------
target/arm/translate-a64.c | 121 +++++-----
target/i386/tcg/mem_helper.c | 126 ----------
target/i386/tcg/translate.c | 126 ++++++++--
target/ppc/mem_helper.c | 44 ----
target/ppc/translate.c | 102 ++++----
target/s390x/tcg/fpu_helper.c | 103 ++++----
target/s390x/tcg/int_helper.c | 64 ++---
target/s390x/tcg/mem_helper.c | 77 +-----
target/s390x/tcg/translate.c | 217 +++++++++++------
tcg/tcg-op.c | 393 ++++++++++++++++++++++++++-----
tcg/tcg.c | 303 +++++++++++++++++++++---
tcg/tci.c | 65 ++---
tests/tcg/s390x/clst.c | 82 +++++++
tests/tcg/s390x/div.c | 75 ++++++
tests/tcg/s390x/long-double.c | 24 ++
util/int128.c | 42 ++++
accel/tcg/atomic_common.c.inc | 45 ++++
tcg/aarch64/tcg-target.c.inc | 17 +-
tcg/arm/tcg-target.c.inc | 30 ++-
tcg/i386/tcg-target.c.inc | 52 +++-
tcg/loongarch64/tcg-target.c.inc | 17 +-
tcg/mips/tcg-target.c.inc | 17 +-
tcg/ppc/tcg-target.c.inc | 20 +-
tcg/riscv/tcg-target.c.inc | 17 +-
tcg/s390x/tcg-target.c.inc | 16 +-
tcg/sparc64/tcg-target.c.inc | 19 +-
tcg/tci/tcg-target.c.inc | 27 ++-
tests/tcg/s390x/Makefile.target | 3 +
53 files changed, 1936 insertions(+), 954 deletions(-)
create mode 100644 tests/tcg/s390x/clst.c
create mode 100644 tests/tcg/s390x/div.c
create mode 100644 tests/tcg/s390x/long-double.c
--
2.34.1
next reply other threads:[~2023-01-26 4:43 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-26 4:37 Richard Henderson [this message]
2023-01-26 4:37 ` [PATCH v5 01/36] tcg: Define TCG_TYPE_I128 and related helper macros Richard Henderson
2023-01-26 4:37 ` [PATCH v5 02/36] tcg: Handle dh_typecode_i128 with TCG_CALL_{RET, ARG}_NORMAL Richard Henderson
2023-01-26 4:37 ` [PATCH v5 03/36] tcg: Allocate objects contiguously in temp_allocate_frame Richard Henderson
2023-01-26 17:12 ` Alex Bennée
2023-01-26 19:48 ` Richard Henderson
2023-01-26 4:37 ` [PATCH v5 04/36] tcg: Introduce tcg_out_addi_ptr Richard Henderson
2023-01-26 4:37 ` [PATCH v5 05/36] tcg: Add TCG_CALL_{RET,ARG}_BY_REF Richard Henderson
2023-01-27 10:40 ` Alex Bennée
2023-01-27 18:48 ` Richard Henderson
2023-01-26 4:37 ` [PATCH v5 06/36] tcg: Introduce tcg_target_call_oarg_reg Richard Henderson
2023-01-26 4:37 ` [PATCH v5 07/36] tcg: Add TCG_CALL_RET_BY_VEC Richard Henderson
2023-01-26 4:37 ` [PATCH v5 08/36] include/qemu/int128: Use Int128 structure for TCI Richard Henderson
2023-01-27 13:51 ` Alex Bennée
2023-01-26 4:37 ` [PATCH v5 09/36] tcg/i386: Add TCG_TARGET_CALL_{RET,ARG}_I128 Richard Henderson
2023-01-27 13:52 ` Alex Bennée
2023-01-26 4:37 ` [PATCH v5 10/36] tcg/tci: Fix big-endian return register ordering Richard Henderson
2023-01-27 13:53 ` Alex Bennée
2023-01-26 4:37 ` [PATCH v5 11/36] tcg/tci: Add TCG_TARGET_CALL_{RET,ARG}_I128 Richard Henderson
2023-01-27 14:00 ` Alex Bennée
2023-01-27 18:55 ` Richard Henderson
2023-01-26 4:38 ` [PATCH v5 12/36] tcg: " Richard Henderson
2023-01-27 17:04 ` Alex Bennée
2023-01-26 4:38 ` [PATCH v5 13/36] tcg: Add temp allocation for TCGv_i128 Richard Henderson
2023-01-27 17:08 ` Alex Bennée
2023-01-27 18:56 ` Richard Henderson
2023-01-26 4:38 ` [PATCH v5 14/36] tcg: Add basic data movement " Richard Henderson
2023-01-27 18:23 ` Alex Bennée
2023-01-26 4:38 ` [PATCH v5 15/36] tcg: Add guest load/store primitives " Richard Henderson
2023-01-26 4:38 ` [PATCH v5 16/36] tcg: Add tcg_gen_{non}atomic_cmpxchg_i128 Richard Henderson
2023-01-27 0:45 ` Philippe Mathieu-Daudé
2023-01-27 6:39 ` Richard Henderson
2023-01-27 23:49 ` Philippe Mathieu-Daudé
2023-01-26 4:38 ` [PATCH v5 17/36] tcg: Split out tcg_gen_nonatomic_cmpxchg_i{32,64} Richard Henderson
2023-01-27 0:53 ` Philippe Mathieu-Daudé
2023-01-27 6:44 ` Richard Henderson
2023-01-26 4:38 ` [PATCH v5 18/36] target/arm: Use tcg_gen_atomic_cmpxchg_i128 for STXP Richard Henderson
2023-01-26 4:38 ` [PATCH v5 19/36] target/arm: Use tcg_gen_atomic_cmpxchg_i128 for CASP Richard Henderson
2023-01-26 4:38 ` [PATCH v5 20/36] target/ppc: Use tcg_gen_atomic_cmpxchg_i128 for STQCX Richard Henderson
2023-01-26 4:38 ` [PATCH v5 21/36] tests/tcg/s390x: Add div.c Richard Henderson
2023-01-26 4:38 ` [PATCH v5 22/36] tests/tcg/s390x: Add clst.c Richard Henderson
2023-01-26 4:38 ` [PATCH v5 23/36] tests/tcg/s390x: Add long-double.c Richard Henderson
2023-01-26 4:38 ` [PATCH v5 24/36] target/s390x: Use a single return for helper_divs32/u32 Richard Henderson
2023-01-26 9:58 ` David Hildenbrand
2023-01-27 0:57 ` Philippe Mathieu-Daudé
2023-01-26 4:38 ` [PATCH v5 25/36] target/s390x: Use a single return for helper_divs64/u64 Richard Henderson
2023-01-26 4:38 ` [PATCH v5 26/36] target/s390x: Use Int128 for return from CLST Richard Henderson
2023-01-26 4:38 ` [PATCH v5 27/36] target/s390x: Use Int128 for return from CKSM Richard Henderson
2023-01-26 4:38 ` [PATCH v5 28/36] target/s390x: Use Int128 for return from TRE Richard Henderson
2023-01-26 4:38 ` [PATCH v5 29/36] target/s390x: Copy wout_x1 to wout_x1_P Richard Henderson
2023-01-26 4:38 ` [PATCH v5 30/36] target/s390x: Use Int128 for returning float128 Richard Henderson
2023-01-26 10:06 ` David Hildenbrand
2023-01-26 4:38 ` [PATCH v5 31/36] target/s390x: Use Int128 for passing float128 Richard Henderson
2023-01-26 11:19 ` David Hildenbrand
2023-01-26 4:38 ` [PATCH v5 32/36] target/s390x: Use tcg_gen_atomic_cmpxchg_i128 for CDSG Richard Henderson
2023-01-26 11:27 ` David Hildenbrand
2023-01-26 21:01 ` Richard Henderson
2023-01-27 16:09 ` David Hildenbrand
2023-01-26 4:38 ` [PATCH v5 33/36] target/s390x: Implement CC_OP_NZ in gen_op_calc_cc Richard Henderson
2023-01-26 11:25 ` David Hildenbrand
2023-01-26 4:38 ` [PATCH v5 34/36] target/i386: Split out gen_cmpxchg8b, gen_cmpxchg16b Richard Henderson
2023-01-26 4:38 ` [PATCH v5 35/36] target/i386: Inline cmpxchg8b Richard Henderson
2023-01-26 4:38 ` [PATCH v5 36/36] target/i386: Inline cmpxchg16b Richard Henderson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230126043824.54819-1-richard.henderson@linaro.org \
--to=richard.henderson@linaro.org \
--cc=alex.bennee@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.