[PATCH 0/9] target/s390x: Use Int128 for float128 and retxl

Richard Henderson posted 9 patches 1 year, 6 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20221021073006.2398819-1-richard.henderson@linaro.org
Maintainers: Cornelia Huck <cohuck@redhat.com>, Thomas Huth <thuth@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, David Hildenbrand <david@redhat.com>
target/s390x/helper.h           |  52 +++++------
target/s390x/tcg/fpu_helper.c   | 103 ++++++++++-----------
target/s390x/tcg/int_helper.c   |  64 +++++--------
target/s390x/tcg/mem_helper.c   |  25 +++---
target/s390x/tcg/translate.c    | 154 ++++++++++++++++++++++----------
tests/tcg/s390x/long-double.c   |  24 +++++
target/s390x/tcg/insn-data.def  |  58 ++++++------
tests/tcg/s390x/Makefile.target |   1 +
8 files changed, 264 insertions(+), 217 deletions(-)
create mode 100644 tests/tcg/s390x/long-double.c
[PATCH 0/9] target/s390x: Use Int128 for float128 and retxl
Posted by Richard Henderson 1 year, 6 months ago
Removing retxl seemed like the easiest test case for TCGv_i128.

I don't quite get rid of retxl, because it is still used by LPQ,
which will be convertable directly to generic tcg ops once I'm
further along with the main improvements to atomic operations.

Tested only via the little test case, but that was sufficient
to show a bug or two with TCI.  The insn-data.def patterns look
quite regular now, so that's a pleasant outcome.


r~


Richard Henderson (9):
  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
  tests/tcg/s390x: Add long-double.c
  target/s390x: Use Int128 for returning float128
  target/s390x: Use Int128 for passing float128

 target/s390x/helper.h           |  52 +++++------
 target/s390x/tcg/fpu_helper.c   | 103 ++++++++++-----------
 target/s390x/tcg/int_helper.c   |  64 +++++--------
 target/s390x/tcg/mem_helper.c   |  25 +++---
 target/s390x/tcg/translate.c    | 154 ++++++++++++++++++++++----------
 tests/tcg/s390x/long-double.c   |  24 +++++
 target/s390x/tcg/insn-data.def  |  58 ++++++------
 tests/tcg/s390x/Makefile.target |   1 +
 8 files changed, 264 insertions(+), 217 deletions(-)
 create mode 100644 tests/tcg/s390x/long-double.c

-- 
2.34.1