On 11/4/23 03:38, Richard Henderson wrote:
Major changes:

(1) Get rid of the env->qt[01] temporaries and use TCGv_i128 for float128.
(2) Perform ieee exception check within the helpers, before any writeback
     to the floating point registers.
(3) Split env->fsr into pieces to simplify update, especially compares.


r~


Based-on: 20231101041132.174501-1-richard.hender...@linaro.org
("[PATCH v2 00/21] target/sparc: Cleanup condition codes etc")

Ping.

Prerequisites are upstream, and it rebases cleanly on master.
For reference,

  https://gitlab.com/rth7680/qemu/-/commits/tgt-sparc-fp


r~



Richard Henderson (22):
   target/sparc: Use tcg_gen_qemu_{ld,st}_i128 for ASI_M_BCOPY
   target/sparc: Use tcg_gen_qemu_{ld,st}_i128 for ASI_M_BFILL
   target/sparc: Remove gen_dest_fpr_F
   target/sparc: Introduce gen_{load,store}_fpr_Q
   target/sparc: Inline FNEG, FABS
   target/sparc: Use i128 for FSQRTq
   target/sparc: Use i128 for FADDq, FSUBq, FMULq, FDIVq
   target/sparc: Use i128 for FqTOs, FqTOi
   target/sparc: Use i128 for FqTOd, FqTOx
   target/sparc: Use i128 for FCMPq, FCMPEq
   target/sparc: Use i128 for FsTOq, FiTOq
   target/sparc: Use i128 for FdTOq, FxTOq
   target/sparc: Use i128 for Fdmulq
   target/sparc: Remove qt0, qt1 temporaries
   target/sparc: Introduce cpu_get_fsr, cpu_put_fsr
   target/split: Split ver from env->fsr
   target/sparc: Clear cexc and ftt in do_check_ieee_exceptions
   target/sparc: Merge check_ieee_exceptions with FPop helpers
   target/sparc: Split cexc and ftt from env->fsr
   target/sparc: Remove cpu_fsr
   target/sparc: Split fcc out of env->fsr
   target/sparc: Remove FSR_FTT_NMASK, FSR_FTT_CEXC_NMASK

  target/sparc/cpu.h          |  39 +-
  target/sparc/helper.h       | 116 ++----
  linux-user/sparc/cpu_loop.c |   2 +-
  linux-user/sparc/signal.c   |  14 +-
  target/sparc/cpu.c          |  32 +-
  target/sparc/fop_helper.c   | 510 +++++++++++++----------
  target/sparc/gdbstub.c      |   8 +-
  target/sparc/ldst_helper.c  |   3 -
  target/sparc/machine.c      |  38 +-
  target/sparc/translate.c    | 799 ++++++++++++------------------------
  10 files changed, 680 insertions(+), 881 deletions(-)



Reply via email to