[PATCH for-8.0 v2 00/13] target/s390x: Use TCGv_i128

Richard Henderson posted 13 patches 1 year, 6 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20221111080820.2132412-1-richard.henderson@linaro.org
Maintainers: Richard Henderson <richard.henderson@linaro.org>, David Hildenbrand <david@redhat.com>, Ilya Leoshkevich <iii@linux.ibm.com>, Thomas Huth <thuth@redhat.com>
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
[PATCH for-8.0 v2 00/13] target/s390x: Use TCGv_i128
Posted by Richard Henderson 1 year, 6 months ago
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