This series adds support for FEAT_SVE2p1 (-march=...+sve2p1). One thing that the extension does is make some SME and SME2 instructions available outside of streaming mode. It also adds quite a few new instructions. Some of those new instructions are shared with SME2.1, which will be added by a later patch.
Tested on aarch64-linux-gnu. GNU binutils doesn't yet have full support for SVE2.1, meaning that the aarch64_asm_sve2p1_ok target selector fails and that the new aarch64-sve2-acle-asm.exp tests fall back to "dg-do compile" instead of "dg-do assemble". However, I also tested aarch64-sve2-acle-asm.exp against LLVM's assembler using a hacked-up script. I also tried to cross-check GCC's implementation against LLVM's SVE2.1 ACLE tests. There were some failures due to missing B16B16 support (part of a separate follow-on series) and the fact that LLVM's stores take pointers to const (raised separately), but otherwise things seemed ok. I'll commit this on Monday if there are no comments before then, but please let me know if you'd like me to wait longer. It will likely need some minor updates due to conflicts with other in-flight patches. Richard