qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/22] target/sparc: floating-point cleanup
@ 2023-11-03 17:38 Richard Henderson
  2023-11-03 17:38 ` [PATCH 01/22] target/sparc: Use tcg_gen_qemu_{ld, st}_i128 for ASI_M_BCOPY Richard Henderson
                   ` (22 more replies)
  0 siblings, 23 replies; 35+ messages in thread
From: Richard Henderson @ 2023-11-03 17:38 UTC (permalink / raw)
  To: qemu-devel; +Cc: mark.cave-ayland

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.henderson@linaro.org
("[PATCH v2 00/21] target/sparc: Cleanup condition codes etc")


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(-)

-- 
2.34.1



^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2024-02-02  5:37 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-03 17:38 [PATCH 00/22] target/sparc: floating-point cleanup Richard Henderson
2023-11-03 17:38 ` [PATCH 01/22] target/sparc: Use tcg_gen_qemu_{ld, st}_i128 for ASI_M_BCOPY Richard Henderson
2023-11-03 17:38 ` [PATCH 02/22] target/sparc: Use tcg_gen_qemu_{ld, st}_i128 for ASI_M_BFILL Richard Henderson
2023-11-03 17:38 ` [PATCH 03/22] target/sparc: Remove gen_dest_fpr_F Richard Henderson
2024-01-30  7:54   ` Philippe Mathieu-Daudé
2023-11-03 17:38 ` [PATCH 04/22] target/sparc: Introduce gen_{load,store}_fpr_Q Richard Henderson
2024-01-30  7:56   ` Philippe Mathieu-Daudé
2023-11-03 17:38 ` [PATCH 05/22] target/sparc: Inline FNEG, FABS Richard Henderson
2024-01-30  8:04   ` Philippe Mathieu-Daudé
2024-01-30  8:40   ` Philippe Mathieu-Daudé
2024-02-02  4:32     ` Richard Henderson
2023-11-03 17:38 ` [PATCH 06/22] target/sparc: Use i128 for FSQRTq Richard Henderson
2023-11-03 17:38 ` [PATCH 07/22] target/sparc: Use i128 for FADDq, FSUBq, FMULq, FDIVq Richard Henderson
2023-11-03 17:38 ` [PATCH 08/22] target/sparc: Use i128 for FqTOs, FqTOi Richard Henderson
2023-11-03 17:38 ` [PATCH 09/22] target/sparc: Use i128 for FqTOd, FqTOx Richard Henderson
2023-11-03 17:38 ` [PATCH 10/22] target/sparc: Use i128 for FCMPq, FCMPEq Richard Henderson
2023-11-03 17:38 ` [PATCH 11/22] target/sparc: Use i128 for FsTOq, FiTOq Richard Henderson
2023-11-03 17:38 ` [PATCH 12/22] target/sparc: Use i128 for FdTOq, FxTOq Richard Henderson
2023-11-03 17:38 ` [PATCH 13/22] target/sparc: Use i128 for Fdmulq Richard Henderson
2023-11-03 17:38 ` [PATCH 14/22] target/sparc: Remove qt0, qt1 temporaries Richard Henderson
2023-11-03 17:38 ` [PATCH 15/22] target/sparc: Introduce cpu_get_fsr, cpu_put_fsr Richard Henderson
2024-01-30  8:10   ` Philippe Mathieu-Daudé
2023-11-03 17:38 ` [PATCH 16/22] target/split: Split ver from env->fsr Richard Henderson
2024-01-30  8:11   ` Philippe Mathieu-Daudé
2024-01-30 12:56     ` BALATON Zoltan
2023-11-03 17:38 ` [PATCH 17/22] target/sparc: Clear cexc and ftt in do_check_ieee_exceptions Richard Henderson
2023-11-03 17:38 ` [PATCH 18/22] target/sparc: Merge check_ieee_exceptions with FPop helpers Richard Henderson
2023-11-03 17:38 ` [PATCH 19/22] target/sparc: Split cexc and ftt from env->fsr Richard Henderson
2023-11-03 17:38 ` [PATCH 20/22] target/sparc: Remove cpu_fsr Richard Henderson
2023-11-03 17:38 ` [PATCH 21/22] target/sparc: Split fcc out of env->fsr Richard Henderson
2023-11-03 17:38 ` [PATCH 22/22] target/sparc: Remove FSR_FTT_NMASK, FSR_FTT_CEXC_NMASK Richard Henderson
2024-01-28  6:49 ` [PATCH 00/22] target/sparc: floating-point cleanup Richard Henderson
2024-01-29 21:50   ` Mark Cave-Ayland
2024-01-31 21:49   ` Mark Cave-Ayland
2024-02-02  5:36     ` Richard Henderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).