mbox series

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

Message ID 20221021073006.2398819-1-richard.henderson@linaro.org
Headers show
Series target/s390x: Use Int128 for float128 and retxl | expand

Message

Richard Henderson Oct. 21, 2022, 7:29 a.m. UTC
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