This patchset fixes some problems with the recently landed SVE2p1 feature. Notably, we missed out several bfloat16 insns entirely... This patchset adds in the missing insns, and also fixes some bugs in the FMAXQV etc insns, and an incorrect assertion in LD1Q.
I know this is slightly pushing the boundary of what counts as a bugfix for 10.1, but it would be much more disruptive to try to unwind the SVE2p1/SME2p1/SME2 features, and these are fixing the bug that we UNDEF when we should not :-). I've set the Fixes: tag to point at the commit where we enabled an accidentally incomplete FEAT_SVE_B16B16. thanks -- PMM Peter Maydell (10): target/arm: Add BFADD, BFSUB, BFMUL (unpredicated) target/arm: Add BFADD, BFSUB, BFMUL, BFMAXNM, BFMINNM (predicated) target/arm: Add BFMIN, BFMAX (predicated) target/arm: Add BFMUL (indexed) target/arm: Add BFMLA, BFMLS (vectors) target/arm: Add BFMLA, BFMLS (indexed) target/arm: Correct sense of FPCR.AH test for FMAXQV and FMINQV target/arm: Don't nest H() macro calls in SVE DO_REDUCE target/arm: Honour FPCR.AH=1 default NaN value in FMAXNMQV, FMINNMQV target/arm: Make LD1Q decode and trans fn agree about a->u target/arm/tcg/helper-sve.h | 32 ++++++++++ target/arm/tcg/helper.h | 5 ++ target/arm/tcg/sve.decode | 5 +- target/arm/tcg/sve_helper.c | 109 +++++++++++++++++++++++++++++---- target/arm/tcg/translate-sve.c | 97 +++++++++++++++++++++-------- target/arm/tcg/vec_helper.c | 4 ++ 6 files changed, 212 insertions(+), 40 deletions(-) -- 2.43.0