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.hender...@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