Hi Peter, After reviewing your AFP patch set, and starting to rebase SME2 work on top of that (since I'd been skipping the FPCR.AH portion of SME2), here are some cleanups which might be folded back into the original change for FPCR.AH or left as separate follow-ups.
All of the FPST frobbing is because I add FPST_ZA (not included here) which is like FPST_FPCR_A64, but with default-nans and whose cumulative exception flags are ignored. Thus it does not overlap FPST_FPCR_AH semantics. I've not tested this extraction heavily (i.e. just make check). Do you have further tests for AH=1? r~ Based-on: 20250124162836.2332150-1-peter.mayd...@linaro.org ("[PATCH 00/76] target/arm: Implement FEAT_AFP and FEAT_RPRES") Richard Henderson (22): 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_ftmad_* target/arm: Use float*_maybe_ah_chs in sve_ftmad_* target/arm: Use flags for AH negation in do_fmla_zpzzz_* target/arm/cpu.h | 107 ++++++++++++----------- 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 | 150 ++++++++++++++------------------- target/arm/tcg/translate-a64.c | 100 +++++++++++----------- target/arm/tcg/translate-sme.c | 4 +- target/arm/tcg/translate-sve.c | 126 +++++++++++++-------------- target/arm/tcg/translate-vfp.c | 78 ++++++++--------- target/arm/tcg/vec_helper.c | 26 +++--- target/arm/vfp_helper.c | 94 ++++++++++----------- 14 files changed, 405 insertions(+), 474 deletions(-) -- 2.43.0