[PATCH 17/18] arm64: fpsimd: Move SME save/restore inline
Mark Rutland
mark.rutland at arm.com
Fri Jul 17 06:22:07 PDT 2026
On Fri, May 29, 2026 at 10:10:35AM +0100, Mark Rutland wrote:
> On Tue, May 26, 2026 at 05:38:40PM +0100, Mark Rutland wrote:
> > On Tue, May 26, 2026 at 04:28:17PM +0100, Mark Rutland wrote:
> > > On Tue, May 26, 2026 at 03:39:56PM +0100, Vladimir Murzin wrote:
> > > > I suspect you are intentionally not using "Ucj" constrain to limit register allocator,
> > > > if so I'm wondering why?
> > >
> > > Thanks for the suggestion; that was ignorance rather than intent.
> > >
> > > I was not aware of "Ucj" as it doesn't appear on the public GCC
> > > documentation:
> > >
> > > https://gcc.gnu.org/onlinedocs/gcc/Machine-Constraints.html
> > >
> > > Looking at the machine description file, that's marked with '@internal',
> > > so IIUC GCC folk don't seem to expect/want people to use it. That said,
> > > LLVM seems to support it.
> > >
> > > I'll go check that all relevant toolchains support this, and poke GCC
> > > folk to see if they're happy to promote that to a public constraint.
> >
> > GCC folk seem happy to make this public, which is great! I'll cross-link
> > a thread here if/when patches appear.
>
> Alex Coplan sent a patch for GCC to make this public:
>
> https://gcc.gnu.org/pipermail/gcc-patches/2026-May/718560.html
Just for posterity, that was merged in GCC commit:
090f3e78a10b5ce14fd80de82d3e8dda8af1cae6 ("aarch64: Make Uc[ij] constraints public")
... which can be found at:
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=090f3e78a10b5ce14fd80de82d3e8dda8af1cae6
... so we should be able to use that in future once our minimum
supported toolchains are GCC 14.1.0+ and and LLVM 18.1.0+.
Mark.
More information about the linux-arm-kernel
mailing list