Changes for v2:
* Fix the div bugs found by Ilya.
* Convert CDSG
* Improve CC resolution for CDSG+IPM.
Turned out the best testing so far for TCGv_i128 was CDSG,
especially for 32-bit x86 host, where we have only 6 regs
available for 13 parameters. Whee!
r~
Based-on: 20221111074101.2069454-1-richard.henderson@linaro.org
("tcg: Support for Int128 with helpers")
Ilya Leoshkevich (2):
tests/tcg/s390x: Add div.c
tests/tcg/s390x: Add clst.c
Richard Henderson (11):
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/s390x/helper.h | 54 ++++----
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 +++++++++++++++++++++----------
tests/tcg/s390x/clst.c | 82 ++++++++++++
tests/tcg/s390x/div.c | 75 +++++++++++
tests/tcg/s390x/long-double.c | 24 ++++
target/s390x/tcg/insn-data.h.inc | 60 ++++-----
tests/tcg/s390x/Makefile.target | 3 +
10 files changed, 462 insertions(+), 297 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