[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 00/22] target/sparc: floating-point cleanup
From: |
Richard Henderson |
Subject: |
[PATCH 00/22] target/sparc: floating-point cleanup |
Date: |
Fri, 3 Nov 2023 10:38:19 -0700 |
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
- [PATCH 00/22] target/sparc: floating-point cleanup,
Richard Henderson <=
- [PATCH 01/22] target/sparc: Use tcg_gen_qemu_{ld, st}_i128 for ASI_M_BCOPY, Richard Henderson, 2023/11/03
- [PATCH 11/22] target/sparc: Use i128 for FsTOq, FiTOq, Richard Henderson, 2023/11/03
- [PATCH 09/22] target/sparc: Use i128 for FqTOd, FqTOx, Richard Henderson, 2023/11/03
- [PATCH 06/22] target/sparc: Use i128 for FSQRTq, Richard Henderson, 2023/11/03
- [PATCH 12/22] target/sparc: Use i128 for FdTOq, FxTOq, Richard Henderson, 2023/11/03
- [PATCH 02/22] target/sparc: Use tcg_gen_qemu_{ld, st}_i128 for ASI_M_BFILL, Richard Henderson, 2023/11/03
- [PATCH 16/22] target/split: Split ver from env->fsr, Richard Henderson, 2023/11/03
- [PATCH 07/22] target/sparc: Use i128 for FADDq, FSUBq, FMULq, FDIVq, Richard Henderson, 2023/11/03
- [PATCH 03/22] target/sparc: Remove gen_dest_fpr_F, Richard Henderson, 2023/11/03
- [PATCH 10/22] target/sparc: Use i128 for FCMPq, FCMPEq, Richard Henderson, 2023/11/03