mbox series

[v2,00/34] target/arm: FEAT_AFP followups for FEAT_SME2

Message ID 20250129013857.135256-1-richard.henderson@linaro.org
Headers show
Series target/arm: FEAT_AFP followups for FEAT_SME2 | expand

Message

Richard Henderson Jan. 29, 2025, 1:38 a.m. UTC
Hi Peter,

I know you've sent a PR with some of this, but I don't have a
complete tree against which to rebase.  So this is still

Based-on: 20250124162836.2332150-1-peter.maydell@linaro.org
("[PATCH 00/76] target/arm: Implement FEAT_AFP and FEAT_RPRES")

Up to patch 22 is unchanged; after patch 22 is all new.

Most of them simplify floatN_muladd to use float_muladd_negate_*.
Five of them (25, 26, 27, 31, 32) address functions missed in
your v1 patchset.

Patch 30 was easier to write with the reversion in patch 29 first.
Obviously I wouldn't think you'd apply as-is.


r~


Richard Henderson (34):
  target/arm: Rename FPST_FPCR_A32 to FPST_A32
  target/arm: Rename FPST_FPCR_A64 to FPST_A64
  target/arm: Rename FPST_FPCR_F16_A32 to FPST_A32_F16
  target/arm: Rename FPST_FPCR_F16_A64 to FPST_A64_F16
  target/arm: Rename FPST_FPCR_AH* to FPST_AH*
  target/arm: Introduce CPUARMState.vfp.fp_status[]
  target/arm: Remove standard_fp_status_f16
  target/arm: Remove standard_fp_status
  target/arm: Remove ah_fp_status_f16
  target/arm: Remove ah_fp_status
  target/arm: Remove fp_status_f16_a64
  target/arm: Remove fp_status_f16_a32
  target/arm: Remove fp_status_a64
  target/arm: Remove fp_status_a32
  target/arm: Simplify fp_status indexing in mve_helper.c
  target/arm: Simplify DO_VFP_cmp in vfp_helper.c
  target/arm: Move float*_ah_chs to vec_internal.h
  target/arm: Introduce float*_maybe_ah_chs
  target/arm: Use float*_maybe_ah_chs in sve_ftssel_*
  target/arm: Use float*_maybe_ah_chs in sve_fcadd_*
  target/arm: Use float*_maybe_ah_chs in sve_fcadd_*
  target/arm: Use flags for AH negation in do_fmla_zpzzz_*
  target/arm: Use flags for AH negation in sve_ftmad_*
  target/arm: Use flags for AH negation in float*_ah_mulsub_f
  target/arm: Handle FPCR.AH in gvec_fcmla[hsd]
  target/arm: Handle FPCR.AH in gvec_fcmla[hs]_idx
  target/arm: Handle FPCR.AH in sve_fcmla_zpzzz_*
  target/arm: Split gvec_fmla_idx_* for fmls and ah_fmls
  Revert "target/arm: Handle FPCR.AH in FMLSL"
  target/arm: Handle FPCR.AH in gvec_fmlal_a64
  target/arm: Handle FPCR.AH in sve2_fmlal_zzxw_s
  target/arm: Handle FPCR.AH in sve2_fmlal_zzzw_s
  target/arm: Read fz16 from env->vfp.fpcr
  target/arm: Sink fp_status and fpcr access into do_fmlal*

 target/arm/cpu.h               | 107 +++++-----
 target/arm/helper.h            |  14 ++
 target/arm/tcg/translate.h     |  68 +------
 target/arm/tcg/vec_internal.h  |  35 ++++
 target/arm/cpu.c               |  28 +--
 target/arm/tcg/helper-a64.c    |  15 +-
 target/arm/tcg/mve_helper.c    |  44 ++---
 target/arm/tcg/sme_helper.c    |   4 +-
 target/arm/tcg/sve_helper.c    | 234 +++++++++++-----------
 target/arm/tcg/translate-a64.c | 125 ++++++------
 target/arm/tcg/translate-sme.c |   4 +-
 target/arm/tcg/translate-sve.c | 157 +++++++--------
 target/arm/tcg/translate-vfp.c |  78 ++++----
 target/arm/tcg/vec_helper.c    | 346 +++++++++++++++++----------------
 target/arm/vfp_helper.c        |  94 ++++-----
 15 files changed, 681 insertions(+), 672 deletions(-)